node.js - Can't query date from MongoDB(Mlab) -- 如此简单却无法解决

标签 node.js mongodb mlab

经过数周的努力,我仍然无法使用 NodeJS 从 Mlab 查询具有以下结构的日期字段 movie_datetime。

"movie_datetime": {
        "$date": "2017-01-03T16:00:00.000Z"
},
"session_id": 31268

enter image description here

我尝试了以下方法

db.mycollection.find({
  "movie_datetime" : {"gte" : { "$date" : "2013-10-01T00:00:00.000Z"}}
})

db.mycollection.find({
    "movie_datetime" : {"$gte": new Date("2013-10-01T00:00:00.000Z")}
})

db.mycollection.find({
    "movie_datetime" : {"$gte": Date("2013-10-01T00:00:00.000Z")}
})

db.mycollection.find({
    "movie_datetime" : {"$gte": ISODate("2013-10-01T00:00:00.000Z")}
})

感谢任何帮助。

当前的 nodeJS 代码:

** 尝试了单引号和双引号的变体并省略了 .toISOString

var dateTime = '{"movie_datetime":{"$gte" : "'+new Date("2017-01-03T16:00:00.000Z").toISOString()+'"}}';

var dateTimeJson =JSON.parse(dateTimeVar);

db.mycollection.find(dateTimeJson);


Result for print dateTime 
{"movie_datetime":{"$gte" : "2017-01-03T16:00:00.000Z"}}

Result for print dateTimeJson 
{ movie_datetime: { '$gte': '2017-01-03T16:00:00.000Z' } }

Node 版本 6.6.0

最佳答案

如果你用的是mlab接口(interface),其实是这样的:

{
    "createdAt": {
        "$gt": {
            "$date": "2017-11-08T20:05:45.866Z"
        }
    }
}

关于node.js - Can't query date from MongoDB(Mlab) -- 如此简单却无法解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543837/

相关文章:

javascript - 在 Node js Express 中解析 req.body 中的数组

node.js - 无法连接到附加到heroku部署的MongoLab数据库

node.js - 从环回 mongodb 驱动程序连接时如何增加 Mongolab 的连接超时

ruby - 无法创建 MongoClient.new

ruby-on-rails - Mongoid 无限循环查询

javascript - 如何将 POST 表单数据转换为 JSON 对象

javascript - 运行 Node 程序时出错。模块 'prompt' 不工作

node.js - PhpStorm/WebStorm 终端显示旧的 NPM 版本

mongodb - 如何在 mongodb 中聚合查询

mongodb - Ubuntu 18.04 - mongodb 5.0 安装 - (代码=转储,信号=ILL)