【问题标题】:Does mongoengine support for Transactions API in MongoDB?mongoengine 是否支持 MongoDB 中的 Transactions API?
【发布时间】:2021-03-07 00:39:10
【问题描述】:

mongoengine 是否支持 MongoDB 中的 Transactions API?我正在尝试使用 python 脚本访问 mongodb。我能够使用 mongoengine 库成功地进行 crud 操作。但我需要扩展该程序,以便能够通过 Transactions API 访问数据库数据。我使用 ubuntu OS 和 python 进行开发。任何人都可以通过简单的示例帮助我如何做到这一点?非常感谢.... https://docs.mongodb.com/manual/core/transactions/

【问题讨论】:

    标签: python-3.x mongodb mongodb-query pymongo mongoengine


    【解决方案1】:

    虽然底层驱动程序 (pymongo) 支持事务,但 MongoEngine 还不支持,因此您不能将 pymongo 的 Session 对象与 MongoEngine 文档实例一起使用。

    来自项目https://github.com/MongoEngine/mongoengine/issues/2248的相关票证

    【讨论】:

      【解决方案2】:

      MongoEngine 是一个 ODM。事务由驱动程序实现。 ODM 可能会提供额外的与事务相关的语法/功能,但这将在驱动程序之上。

      根据http://docs.mongoengine.org/faq.html MongoEngine 使用 pymongo。 pymongo 是一个驱动程序并实现事务。因此,您需要弄清楚如何从 MongoEngine 访问驱动程序的会话对象,然后使用该会话对象执行 https://pymongo.readthedocs.io/en/stable/api/pymongo/client_session.html 中所述的事务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 2020-09-14
        • 1970-01-01
        • 2019-11-06
        • 2017-08-10
        • 2011-10-09
        相关资源
        最近更新 更多