经过数周的努力,我仍然无法使用NodeJS从Mlab查询具有以下结构的日期字段movie_datetime。
"movie_datetime": {
"$date": "2017-01-03T16:00:00.000Z"
},
"session_id": 31268
我尝试了以下
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' } }
节点版本6.6.0
答案 0 :(得分:2)
如果您正在使用mlab界面,则实际上是这样的:
{
"createdAt": {
"$gt": {
"$date": "2017-11-08T20:05:45.866Z"
}
}
}
答案 1 :(得分:0)
我认为应该这样做。
db.myCollection.find({
'movie_datetime.$date': {
'$gte': new Date('2013-10-01T00:00:00.000Z')
}
});
编辑 - 您发布的图片和您提供的JSON不同。对于图片,它将是 -
db.myCollection.find({
'date.$date': {
'$gte': new Date('2013-10-01T00:00:00.000Z')
}
});
答案 2 :(得分:0)