【发布时间】:2021-05-12 15:39:21
【问题描述】:
假设我们有一个包含以下项目的容器
{
location:CA,
bool: false
}
{
location:CA,
bool: false
}
{
location:CA,
bool: false
}
我们如何编写一个存储过程来查询所有项目并将所有项目的 bool 字段从 false 更新为 true?我还没有找到任何参考资料,我知道 CosmosDB 存储过程只支持查询,不支持更新或删除。
【问题讨论】:
-
你的分区键是什么?
/id?并且 Cosmos DB 存储过程支持更新和删除。 -
@SteveZhao 是的,分区键是 id。
-
存储过程无法满足您的要求。您可以通过 SDK 做到这一点。
-
@SteveZhao 存储过程不能完成这么简单的任务吗?只更新 1 个项目怎么样?您不需要完全“更新”吗?您可以通过替换整个文档来“更新”?
-
因为存储过程的范围是逻辑分区。在您的情况下,您有三个逻辑分区。只需更新 1 项即可。
标签: azure stored-procedures azure-cosmosdb azure-cosmosdb-sqlapi azure-cosmosdb-tables