从mongo db查找当前和以前的文档

时间:2019-03-15 12:29:52

标签: mongodb mongodb-query

我必须从一个查询中返回2个文档。我将在查询中提供的第一个值,第二个将是上一个(已排序)。

我能够分别设计两者。以下代码提供了单独的输出。

db.collection.find({'_id':'value1'})
db.collection.find({'_id': {'$lt': 'value1'}}).sort({'_id':-1}).limit(1)
  1. 如何结合它们?因此,当我从我的应用程序执行时,它会返回2个输出
  2. 仅获取特定密钥,而不是整个文档

1 个答案:

答案 0 :(得分:1)

您可以使用$lte代替$lt并用2进行限制-从逻辑上讲,这将是相同的操作

db.collection.find({ _id: { $lte: 'value1' } }, { _id: 1, yourKey: 1 }).sort({_id: -1}).limit(2)

编辑:要获取特定键,您需要将其指定为.find()的第二个参数