我有一个MySQL查询,我用它来获取27天前创建的记录。
SELECT *
FROM appointments
WHERE DATE_FORMAT(created_dt, '%m/%d/%Y') = DATE_FORMAT(DATE_SUB(SYSDATE(), INTERVAL 27 DAY), '%m/%d/%Y')
我如何在MongoDB中执行此操作?
我正在使用codeigniter,因此为mongo_db查询+1。
答案 0 :(得分:0)
取决于您的意思"创建' n'几天前"
您可以选择其中一个Comparison Query Operators
因此,如果你想在n天之前准确创建所有记录($eq),它将会是这样的。
db.appointments.find({"created_dt" : { $eq : new ISODate("2016-05-04T12:00:00Z") }});
您可以从当前日期计算日期。
注意:
我不知道您是否可以使用$eq
并且只过一天并获得与当天相同的所有记录。它可以工作,但你需要先尝试这个。
如果它不起作用,你可以像这样做一个解决方法
db.appointments.find({"created_dt" : { $gte : today, $lt : nextDay}});
其中today
为today at 00:00:00
而nextDay
为nextDay at 00:00:00
(请注意$lt
而不是$lte
)