2013-03-06 48 views
1

這是查詢:爲什麼mongoexport在mongo可以不解析這個JSON?

mongoexport --host our.dbhost.com --port 27017 --username peter -p clark --collection sent_mails --db dbname --query '{trigger_id:ObjectId("50c62e97b9fe6a000200000c"), updated_at: {$lt : ISODate("2013-02-28"), $gte : ISODate("2013-02-01") }}' 

當我運行這個命令,我得到:

assertion: 10340 Failure parsing JSON string near: , updated_ 

什麼想法? (我想匹配的是在二月份更新trigger_id的所有記錄。)

回答

1

在這個問題解釋說:Mongoexport using $gt and $lt constraints on a date range,你必須在mongoexport使用Unix時間戳記日期查詢

時間戳必須以毫秒爲單位

bash shell中調用這個應該是這樣的:

let "date_from=`date --utc --date "2013-02-01" +%s` * 1000" 
let "date_to=`date --utc --date "2013-03-01" +%s` * 1000" 
mongoexport -d test -c xx --query "{updated_at:{\$gte:new Date($date_from),\$lt:new Date($date_to)}}"> xx.json 
> connected to: 127.0.0.1 
> exported 1 records 

的XX總彙包含:

> db.xx.find().pretty() 
{ 
    "_id" : ObjectId("5158f670c2293fc7aadd811e"), 
    "trigger_id" : ObjectId("50c62e97b9fe6a000200000c"), 
    "updated_at" : ISODate("2013-02-11T00:00:00Z") 
} 
相關問題