我想根据 Oracle 之类的条件从 MongoDB 集合中检索记录,例如“publishFrom 和 publishTo 之间的 sysdate”,但我做不到。感谢你的帮助。
数据如下所示:
{
"_id" : ObjectId("5580fcdd9aaebd3e6591e65d"),
"category" : "green",
"noticeText" : "vacation notice",
"publishFrom" : "06/17/2015 10:21 AM",
"publishTo" : "08/19/2015 10:21 AM"
}
{
"_id" : ObjectId("558106a79aaebd55af91e66a"),
"category" : "red",
"noticeText" : "notice 1",
"publishFrom" : "06/22/2017 11:02 AM",
"publishTo" : "06/22/2017 11:02 AM"
}
以下查询返回正确结果:
db.notices.find({publishTo: {$gte: "08/19/2015 10:21 AM"}}).pretty()
{
"_id" : ObjectId("5580fcdd9aaebd3e6591e65d"),
"category" : "green",
"noticeText" : "vacation notice",
"publishFrom" : "06/17/2015 10:21 AM",
"publishTo" : "08/19/2015 10:21 AM"
}
但以下查询返回所有错误的记录
db.notices.find({publishFrom: {$gte: "06/17/2015 10:21 AM"}}).pretty()
我正在努力编写类似 Oracle 的查询来查找当前时间在 PublishFrom 和 publishTo 之间的通知。
另外,我尝试使用日期变量,例如:
> var dt = new Date()
> dt
ISODate("2015-06-17T05:43:23.634Z")
但是下面的查询没有返回任何结果
db.notices.find({publishFrom: {$gte: dt}}).pretty()
是因为日期存储格式的不同吗?