2017-10-09 58 views
2

我有一个分区集合,并且我试图使用存储过程对两个不同文档执行读/上插操作。这两个文件不一定在同一个分区中。更新任何其他文档时需要更新其中一个文档。CosmosDB:无法使用存储过程在文档上执行交易

根据我的理解,存储过程可以在集合的单个分区中执行。我需要在一次交易中更新这两个文件。

+0

谢谢,很高兴知道! – David

+0

嗨,现在有任何更新? –

回答

3

如果存储过程被注册对集合是 单分区收集,那么交易的作用域是集合中的所有文件 。如果集合被分区,则 然后在 单分区键的事务范围中执行存储过程。每个存储过程的执行必须包括一个分区键值,该分区键值对应于事务必须运行的范围 。

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

看来我们无法在单个事务中更新交叉分区文档。

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