12

我正在尝试运行这个:

mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{'time':{'$gte': ISODate('2014-12-21 12:57:00.506Z'),'$lt': ISODate('2014-12-21 12:59:00.506Z')}}"

或者这个(没有 - ' 的 gte & lt ):

mongoexport.exe -h *MYHOST* -p *MYPORT* -q {'time':{$gte: ISODate('2014-12-21 12:57:00.506Z'),$lt: ISODate('2014-12-21 12:59:00.506Z')}}

该查询在 Robomongo 上运行良好,但使用 mongoexport 它会抛出:“位置参数太多”

我知道我可以改为运行以下命令,但我不想每次需要执行查询时都使用日期转换器。

mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{'time':{$gte: new Date(14191
66620506),$lt: new Date(1419166740506)}}"
4

6 回答 6

18

mongoexport 查询需要使用严格模式的 MongoDB 扩展 JSON。您可以在有关扩展 JSON 的 MongoDB 手册文章中阅读有关扩展 JSON的更多信息。在您的特定情况下,在 mongoexport 命令中编写第一个查询的正确方法是

mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{ 'time' : { '$gte' : { '$date' : '2014-12-21 12:57:00.506Z' },'$lt' : { '$date' : '2014-12-21 12:59:00.506Z' } } }"
于 2014-12-25T19:05:35.540 回答
8

我使用@wdberkeley 的答案作为起点,但那个特定的日期字符串对我不起作用。我不得不使用“T”来分隔日期和时间:

mongoexport --username user --password pass --host host --db dbName --collection coll --type=csv --query '{"_created_at": { "$gte" : { "$date" : "2017-12-21T12:57:00.506Z" } }}'
于 2017-03-01T22:06:08.900 回答
1

不得不在 Windows 中使用不同的语法。

mongoexport --host 192.168.1.5 --db dbname --collection files --query "{ "ModifyDate" : { "$lte" : { "$date" : '2019-02-17T00:00:00.000Z' } }}"

差异是日期周围的单引号。

于 2019-02-17T06:31:09.093 回答
1

我在 mongo 2.4 上遇到了同样的问题,您需要将 $date 与“64 位有符号整数毫秒”一起使用(https://docs.mongodb.com/v2.4/reference/mongodb-extended-json/)在你的情况下:

mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{'time':{'$gte':{"$date": 1419166620506},'$lt': {"$date": 1419166740506}}"
于 2019-06-06T00:33:42.580 回答
0

我在 Windows 上有 mongoexport 版本 3.6.1。我必须将Git Bash用作 Fabien Haddadi,但在我的情况下,日期以毫秒为单位

-query '{ "Time": { "$gte": new Date(1609455600000)} }' 
于 2021-10-14T15:29:59.660 回答
0

适用于 Windows 的 2021 年末更新:

考虑使用Git Bash来运行它,因为我无法让它在 Windows 终端中运行

mongoexport --hostname=$MYHOST --password=$MYPWD --query='{"time":{"$gte":{"$date":"2014-12-21 12:57:00.506Z"},"$lt":{"$date":"2014-12-21 12:59:00.506Z"}}}' mongodb://IP --out=myoutfile.json

于 2021-09-30T11:05:57.713 回答