当日期字段存储在ISO中时,按日期范围获取项目的项目

Bac*_*tnz 0 mongodb

我有一个我试图在日期范围内转储的集合.我有一个查询适用于所有行,并且还使用$ date:1058715(数字),但它从不输出我猜的任何东西,因为它与该条件中的任何行都不匹配.

我在monog中的日期存储为ISODATE(yadayada),所以我仍可以使用$ date查询:(数值)?

我在shell中创建了一个日期,然后使用该数值得到它的值.

继承我的工作查询,它​​不输出任何行

sudo bin/mongodump --db myDB --collection myColl -q '{"reading_date" : { "$gte" : { $date:1341230400000}}}' --out - > dump/myDB /will.bson
Run Code Online (Sandbox Code Playgroud)

但我认为我需要

sudo bin/mongodump --db myDB --collection myColl -q '{"reading_date" : { "$gte" : new Date(2012,05,01)}}' --out - > dump/myDB /will.bson
Run Code Online (Sandbox Code Playgroud)

Asy*_*sky 5

如果您要存储日期,可以将它与mongo shell中的javascript日期进行比较,如下所示:

db.coll.find({mydate:{$gt:new Date(2012,0,1)}})

请注意,在js个月中,从零开始,因此上述代表2012年1月1日.

由于您需要将此传递给mongodump,请使用以下语法:

mongodump -q '{mydate:{$gte:Date(1341230400000)}}'
Run Code Online (Sandbox Code Playgroud)

参考:http://www.mongodb.org/display/DOCS/Mongo+Extended+JSON