gpt4 book ai didi

spring-boot - 如何在 CosmosDB 中处理事务 - "All or nothing"概念

转载 作者:行者123 更新时间:2023-12-04 12:11:10 24 4
gpt4 key购买 nike

我试图在一个交易中一次将多个文档保存到“多个集合”。所以如果其中一个保存失败,那么所有保存的文档都应该回滚

我正在使用 SpringBoot & SpringData 并使用 MongoAPi 连接到 Azure 中的 CosmosDB。我在他们的门户网站上读到这可以通过编写一些存储过程来完成。但是有没有一种方法可以从代码中做到这一点,例如 spring 如何具有 @Transaction 注释。?

任何帮助都非常感谢。

最佳答案

您可以事务性编写的唯一方法是使用存储过程。但这对您的情况无济于事:

  • 存储过程特定于核心 (SQL) API;它们不适用于 MongoDB API。
  • 事务的范围是单个集合中的单个分区。无论您使用 MongoDB API 还是核心 (SQL) API,您都无法跨集合进行事务性写入。

  • 您真的需要询问交易是否绝对必要。也许您可以使用某种类型的持久消息传递方法来管理您的内容更新。但是,没有任何内置功能可以让您在 Cosmos DB 中以 native 方式执行此操作。

    关于spring-boot - 如何在 CosmosDB 中处理事务 - "All or nothing"概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55447997/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com