我正在尝试使用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时间对我来说毫无用处,并且很难转换。
答案 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