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

问题描述 投票:2回答:1

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

我可以单独设计。以下代码给出了单独的输出。

db.collection.find({'_id':'value1'})
db.collection.find({'_id': {'$lt': 'value1'}}).sort({'_id':-1}).limit(1)
  1. 如何结合它们?所以当我从我的appl执行时,它返回2个输出
  2. 仅获取特定键而不是整个文档
mongodb mongodb-query
1个回答
1
投票

您可以使用$lte而不是$lt并使用2限制 - 逻辑上它将是相同的操作

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

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

© www.soinside.com 2019 - 2024. All rights reserved.