如何使用UTC时间戳导出Mongo数据?

时间:2012-09-17 19:17:19

标签: mongodb

我正在尝试使用mongoexport在json中导出一堆数据,这样我就可以在另一个程序中读取它。我使用命令:

mongoexport --jsonArray -h some_ip -d some_db -c some_collection -o mongo_dump.json

问题是,我的所有日​​期时间对象都显示为:

"time_created" : { "$date" : 1344000402000 }
"time_created" : { "$date" : 1343999298000 }

这是特殊的64位mongo时间格式。有什么简单的我可以指定只是获取unixtimestamps? Mongo时间对我来说毫无用处,并且很难转换。

1 个答案:

答案 0 :(得分:2)

不幸的是,我不认为在输出中有一个标志可以改变它们。

然而,由于差异只是最后三位数,你可以这样做:

sed -e 's/{ "\$date" : \([0-9]*\)[0-9]\{3\}/{ "\$date" : \1/' mongo_dump.json > unixstyle.json

它转换了:

"time_created" : { "$date" : 1344000402000 }
"time_created" : { "$date" : 1343999298000 }

为:

"time_created" : { "$date" : 1344000402 }
"time_created" : { "$date" : 1343999298 }
编辑

以修复它以处理各种数字,而不仅仅是0