当有分区键时,我似乎无法插入任何数据。我不断收到“(提供的分区键与集合中的定义不对应,或者与文档中指定的分区键字段值不匹配。”错误,但它没有意义,因为我提供了正确的键并且文档有这些值
'key'变量是一个包含guid的字符串变量
[![此处为 Cosmos 截图][1]][1] [1]:https://i.stack.imgur.com/StLOw.png
{
Id = key,
ObjectName = "PlayerInfo",
PlayerID = key,
PlayerInfo = "foobarbaz"
// other document properties
};
string partitionKeyValue = $"/{document.ObjectName}/{document.PlayerID}";
ItemResponse<dynamic> resp = await container.CreateItemAsync(document, new PartitionKey(partitionKeyValue));```
您应该传递分区键值,而不是分区键定义。
如果您的分区键定义是
/PlayerID
,那么您的分区键值是key
:
{
Id = key,
ObjectName = "PlayerInfo",
PlayerID = key,
PlayerInfo = "foobarbaz"
// other document properties
};
string partitionKeyValue = key;
ItemResponse<dynamic> resp = await container.CreateItemAsync(document, new PartitionKey(partitionKeyValue));