我必须从单个查询返回2个文档。我将在查询中给出的第一个值,第二个值将是前一个(已排序)。
我可以单独设计。以下代码给出了单独的输出。
db.collection.find({'_id':'value1'})
db.collection.find({'_id': {'$lt': 'value1'}}).sort({'_id':-1}).limit(1)
您可以使用$lte
而不是$lt
并使用2
限制 - 逻辑上它将是相同的操作
db.collection.find({ _id: { $lte: 'value1' } }, { _id: 1, yourKey: 1 }).sort({_id: -1}).limit(2)
编辑:获取特定键,您需要将它们指定为.find()的第二个参数