在Mongodb中的查询中执行日期添加

时间:2013-12-24 22:12:19

标签: mongodb

执行以下查询的成本最低的方法是什么,该查询返回集合中MongDDB中具有endDate x days old的所有文档? 我试图在Microsoft T-SQL中执行类似于DATEADD的操作。

db.collection.find({endDate:{$ gte:ISODate() - x days}})

2 个答案:

答案 0 :(得分:3)

我不认为MongoDB中有DATEADD个等价物,但由于查询是JavaScript,你可以这样做:

new Date(new Date().setDate(new Date().getDate() - X))

X替换为天数。所以你的查询看起来像是:

db.collection.find( { endDate: { $gte: new Date(new Date().setDate(new Date().getDate() - X)) } } )

答案 1 :(得分:2)

您可以使用JavaScript:

var yesterday = new Date();
yesterday.setDate(yesterday.getDate()-1);
db.collection.find( {endDate: {$gte: yesterday} } )