我需要在csv中连同其他字段一起创建文档的时间戳。我如何使用mongo export获得该信息?
答案 0 :(得分:0)
mongoexport
不允许对要导出的集合进行转换,因此,您需要获取导出的CSV并使用其他工具将ObjectId转换为日期。这是一个超级丑陋的shell脚本示例:
...get objectId \
| sed -E 's|([0-9a-f]{8}).+|\1|' \
| xargs -I {} echo '$((16#'{}"))" \
| xargs -I {} bash -c "echo {}" \
| xargs -I {} date -d @{}
sed
-抓取ObjectId的前8个字符$((16#{}))
-将这8个字符转换为十进制date -d @{}
-将秒转换为日期所有替代方法是使用mongo聚合框架从ObjectIds获取时间戳,然后使用$out
命令将更新的字段保存到新集合中,然后您可以mongoexport
从。