0

我正在尝试使用 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 时间对我来说毫无用处,而且转换起来很烦人。

4

1 回答 1

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

于 2012-09-17T20:14:15.167 回答