如何使用当前时间和文档中的另一个字段创建mongodb查询



集合中有一些数据:

db.test.insertMany([
{ name: "n1", interval: 10, checked_at: new ISODate("some datetime") },
{ name: "n2", interval: 20, checked_at: new ISODate("some datetime") },
{ name: "n3", interval: 30, checked_at: new ISODate("some datetime") }])

有必要查找从当前时刻起$checked_at早于$interval秒的所有文档。

以下是此请求的伪代码:

db.test.find({"checked_at": {"$lt": "NOW()-$interval"}});

我认为您必须使用聚合管道:

db.test.aggregate([
{
$match: {
$expr: {
$lt: ["$checked_at", { $subtract: ["$$NOW", { $multiply: ["$interval", 1000] }] }]
}
}
}
])         

相关内容

最新更新