Mongoengine 和 Pymongo?

Mongoengine and Pymongo?

我可以将 mongoengine 或 djongo 用于 ODM 并使用 pymongo 与数据库交互吗?

我已经阅读了这两篇关于我的问题的内容:

Insert data by pymongo using mongoengine ORM in pyramid

Use MongoEngine and PyMongo together

但是,我找不到我要找的东西(我猜)。 所以这就是我要查找的内容:

¿这种做法会影响我的应用程序的性能吗? ¿推荐度如何?

因此,如果推荐并且一切正常,我是否需要设置额外的安全层或其他东西?因为,我想使用模型的序列化构建一个 API django-rest-framework-mongoengine提供,然后在API端点的视图中做我必须做的事情。

可能是djongo之类的,我想要的只是一个序列化的ODM,为API定义一个结构等等,使用pymongo进行查询,根据我的原因一直在阅读,mongoengine 可能会减慢与 db

的交互

术语 "ORM" 不适用于 MongoDB,因为 MongoDB 是非关系的。正确的术语是 "ODM" - 对象文档映射器。

通常,MongoDB ODM 构建在 MongoDB 驱动程序之上。 ODM 和驱动程序的功能是互补的 - 驱动程序提供低级数据库访问,而 ODM 提供高级功能,如模式、关联、回调。

如果您想使用高级功能,使用 ODM 是有意义的。如果您不需要任何这些功能,只想执行基本的 CRUD 操作,那么直接使用驱动程序会更高效。一些应用程序根据需要执行的操作使用这两种策略。