0

我有一个我想在一个日期范围内转储的集合。我有一个适用于所有行的查询,并且还可以使用 $date: 1058715 (数字),但它永远不会输出我猜测的任何内容,因为它与该条件中的任何行都不匹配。

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

我在 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
4

1 回答 1

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

于 2012-08-03T03:49:41.137 回答