首页 文章

CosmosDB:无法使用存储过程对文档执行事务

提问于
浏览
2

我有一个分区集合,我正在尝试使用存储过程对两个不同的文档执行read / upsert操作 . 这两个文件不一定在同一个分区中 . 在更新任何其他文档时,需要更新其中一个文档 .

根据我的理解,存储过程可以在集合的单个分区中执行 . 我需要在单个事务中更新这两个文档 .

1 回答

  • 3

    如果注册存储过程的集合是单分区集合,则事务的范围限定为集合中的所有文档 . 如果集合是分区的,则存储过程在单个分区键的事务范围内执行 . 然后,每个存储过程执行必须包括与事务必须在其下运行的范围相对应的分区键值 .

    你可以参考上面提到here的描述 .

    我们似乎无法在单个事务中更新跨分区文档 .

    否则,您可能需要重新调整数据库 partitioning scheme ,因为在您定义分区键后无法删除和修改分区键 .

相关问题