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

时间:2012-08-03 03:08:56

标签: 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

但我认为我需要

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

1 个答案:

答案 0 :(得分: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)}}'

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