mongodb - Mongoexport csv - 打印文档的时间戳
问题描述
我需要在 csv 中创建文档的时间戳以及其他字段。我如何使用 mongo 导出来获得它?
解决方案
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
从中获取的新集合中。
推荐阅读
- php - 方法 Illuminate\Routing\RouteRegistrar::groub 不存在
- awk - 使用 awk 进行点分隔解析
- laravel - 使用观察者请求验证
- python - How to update requirements?
- javascript - 取消选中复选框后如何从数组中删除元素
- xamarin.ios - Xcode 11 更新后 Xamarin iOS 模拟器黑屏
- sql - 如何在 Asp.net Mvc 中显示没有模型的数据?
- rest - rest - 将用户限制在自己的数据中的方法
- java - 如何在 Spring MVC Web 应用程序中创建会话范围的调度程序?
- python - 如何像在 ggplot 中一样在 matplotlib 中创建堆积条形直方图