在Azure Cosmos DB(SQL API)中,我创建了一个容器,其“分区键”设置为该容器,/part_key
现在我试图在Data Explorer中创建和编辑数据。
我创建了一个看起来像这样的项目:
{
"id": "test_id",
"value": "val000",
"magicNumber": 32,
"part_key": "asdf"
}
我现在正在尝试创建一个看起来像这样的项目:
{
"id": "frank",
"value": "val001",
"magicNumber": 33,
"part_key": "asdf"
}
根据文档,我认为分区键中的每个项目都需要一个不同的id
,对我而言,这意味着多个项目实际上可以共享一个分区键,这很有意义。
但是,当我尝试保存第二个项目时出现错误:
{"code":409,"body":{"code":"Conflict","message":"Entity with the specified id already exists in the system...
我看到如果将的值更改为其他值part_key
(例如asdf2
),则可以保存此新项。
我对此功能的期望不对,或者我以某种方式做错了。怎么了
您的理解是正确的,如果您尝试替换ID等于现有文档ID的新文档,则可能会发生这种情况。不允许这样做,因此操作失败。
在插入修改后的副本之前,您需要为其分配一个新的ID。我测试了该方案,它看起来还不错。可能尝试创建一个新文档并检查
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句