【问题标题】:Is there a way for automatic ODM for MongoDB in Python?有没有办法在 Python 中为 MongoDB 自动 ODM?
【发布时间】:2020-07-17 08:38:55
【问题描述】:

有没有办法为 Python 和 MongoDB 提供开箱即用的自动 ODM?对于 Java,MongoDB 驱动程序可以做所有事情:我可以只转储我的自定义类的对象并稍后加载它,驱动程序会自动进行类型检查、映射等,我不必更改我的代码中的任何内容。这对 Python 和 PyMongo、MongoEngine 等是否可行?比如:

class MyClass:
    # definition

obj = MyClass()
db.save(obj)  # automatically creates JSON
obj = db.findOne({"name": "John Smith"})

【问题讨论】:

  • 只要您定义了 Document 类的字段,Mongoengine 就可以为您做到这一点,参见 doc github.com/MongoEngine/mongoengine#examples 中的示例
  • @bagerard 我确实了解 MongoEngine。我想要别的东西,比如 Java 驱动程序:没有 StringFields,没有明确的,只是静默序列化和反序列化。我只想在我的类中使用常规字符串、整数、嵌套对象等,将其保存到 MongoDB 并从中加载。我知道那是不可能的?
  • 尝试从 DynamicDocument 继承而不是 DOcument,虽然我不推荐它,但它可能适用于您的用例。在此处查看文档docs.mongoengine.org/guide/defining-documents.html

标签: python mongodb pymongo mongoengine


【解决方案1】:

pymodm 是 MongoDB 的 Python ODM。

【讨论】:

  • 自 2020 年 10 月起停止开发
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-15
  • 1970-01-01
相关资源
最近更新 更多