问题标签 [documentclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
149 浏览

azure - Azure Cosmos DB:使用 UpsertDocumentAsync 违反唯一索引约束

我在 Azure Cosmos DB 容器中为字段定义了 UniqueKey 策略UniqueName

下面的函数正在定时器上调用。

我正在尝试使用 Azure Functions 绑定在 Azure Cosmos DB 中更新文档,如下所示:

在空白“项目”容器中的第一次执行期间,每个记录的 Upsert 工作出色,将每个记录作为特定文档插入。

但是,在对与第一次执行相同的数据进行测试时,但现在期待“更新”而不是“插入”尝试,我得到一个异常:

UpsertDocumentAsync方法运行后违反唯一索引约束。

我在这里想念什么?

据我了解,Upsert 是更新或插入,具体取决于对象是否存在,通过它的唯一标识符。

检查来自该方法的传出对象唯一 ID 是否与现有文档唯一 ID 匹配应该在 Cosmos DB 容器级别进行。

我期望发生的是调用通知具有该唯一 ID 的文档已经存在,并且它执行更新,而不是抛出异常。如果方法是Insert only,我希望它会抛出异常。

0 投票
1 回答
16 浏览

amazon-dynamodb - DynamoDB 使用 ConditionExpression 而不是键放置项目

由于 email 不是主键,所以我需要根据 email 字段检查记录的唯一性。这没用。用户得救了。DynamoDB 是否不允许在另一个字段而不是键上使用 conditionExpression?