现有文件
{
"property1" : "value1",
"property2" : "value2",
"property3" : "value3",
}
现在,“property2”需要更改为“newValue2”。
使用UpsertItemAsync方法,
Container.UpsertItemAsync<T>(T, Nullable<PartitionKey>, ItemRequestOptions, CancellationToken)
文档更新为
{
"property2" : "newValue2" //"property1" & "property3" are removed.
}
我想要的是
{
"property1" : "value1",
"property2" : "newValue2",
"property3" : "value3",
}
PatchItemAsync 有效
Container.PatchItemAsync<T>(String, PartitionKey, IReadOnlyList<PatchOperation>, PatchItemRequestOptions, CancellationToken)
但如果文档尚不存在,它会返回 404 NOT FOUND。
我的问题,有没有办法可以进行 PATCH + INSERT?
微软.Azure.Cosmos (3.23.0)
这将有助于更新 cosmosdb 中的特定属性。
List<PatchOperation> patchOperations = new List<PatchOperation>()
{
PatchOperation.Replace("/property2", "newValue2")
};
await container.PatchItemAsync<object>(id, PartitionKey, patchOperations);