需要从 mongodb 导出数据,不使用 mongoexport,直接写 python 函数导出到文件。导出过程中发现了一个问题,mongodb 中的 Date 类型会转换成 python 中的 datetime,但在使用 json.dumps 的时候会抛出 TypeError: datetime.datetime is not JSON serializable
,datetime 默认不支持 json 序列化。
得手动扩展,我这里的需求是把 datetime 转换成时间戳:
1 | class DatetimeEncoder(json.JSONEncoder): |
使用的时候指定就可以了。
1 | json.dumps(data, ensure_ascii=False, cls=DatetimeEncoder) |