【发布时间】:2020-07-21 18:47:48
【问题描述】:
我有使用 MongoDB 的 Flask 应用程序。我在编码 ObjectId、datetime 和 date 对象时遇到了问题,但是用这个 https://stackoverflow.com/a/51773611/9472066 答案解决了它们 - 自定义编码器有效。但是,我不知道如何为 PyMongo 编写解码器:我如何知道字符串是 ObjectId、datetime 还是其他?我是否必须在解码器方法中手动检查格式,然后调用适当的构造函数?或者有没有更智能、更自动化的方法?
【问题讨论】:
-
您的数据来自哪里?
-
@BellyBuster 从我自己的序列化到数据库。确切地说,前端传递 JSON,我从它们创建对象,对其进行一堆业务逻辑操作,然后将它们序列化到数据库。稍后我想从数据库中获取它们。所以我对 JSON 进行了序列化和反序列化。文档和对象很复杂(嵌入文档、自定义对象列表等),所以我需要编码器和解码器,例如。 G。用于 ObjectID 类型。