1

我想根据 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()

是因为日期存储格式的不同吗?

4

0 回答 0