2012-08-03 48 views
0

中时,获取monogodump的日期范围内的项目我有一个集合,我试图在日期范围内转储出来。我有一个查询工作的所有行,也有它与$ date:1058715(数值)工作,但从来没有输出任何我猜测,因为它不符合该条件中的任何行。当日期字段存储在ISO

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

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

继承人我工作的查询,这将不输出行

sudo bin/mongodump --db myDB --collection myColl -q '{"reading_date" : { "$gte" : { $date:1341230400000}}}' --out - > dump/myDB /will.bson 

但我想我需要

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

所以做你的第二个查询工作作为预期? – Stennie 2012-08-03 04:43:53

回答

5

如果要存储的日期,你可以在蒙戈外壳比较它的JavaScript日期像这样:

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

注意,在JS几个月AR从零开始Ë因此上述表示1月1日2012年

既然你需要通过这mongodump,使用此语法来代替:

mongodump -q '{mydate:{$gte:Date(1341230400000)}}' 

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

+0

我需要在Shell外执行 – Baconbeastnz 2012-08-06 04:47:14

+0

为此添加的语法 – 2012-08-06 17:48:29

+0

第二个示例中存在语法错误。如果您添加大括号,则需要有关键值。否则你会得到'assertion:16619 code FailedToParse:FailedToParse:Expecting':':offset:21' – jeremywoertink 2013-10-23 22:28:30