为什么mongoexport不能解析这个JSON而mongo可以?

为什么mongoexport不能解析这个JSON而mongo可以?,json,mongodb,mongoexport,Json,Mongodb,Mongoexport,以下是查询: 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") }}'

以下是查询:

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_

有什么想法吗?(我需要所有与2月份更新的触发器id匹配的记录。)

如本期所述:,您必须在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")
}

正如本期中所解释的,您必须在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")
}