执行以下查询的成本最低的方法是什么,该查询返回集合中MongDDB中具有endDate x days old的所有文档? 我试图在Microsoft T-SQL中执行类似于DATEADD的操作。
db.collection.find({endDate:{$ gte:ISODate() - x days}})
答案 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} } )