You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.NET Core 7更新Azure Cosmos DB NoSQL文档时如何保留_ts字段?

Azure Cosmos DB 部分文档更新对_ts字段的影响

直接给出结论:部分文档更新(Partial Document Update)操作不会修改_ts字段,完全满足你通过_ts跟踪UI端并发的需求,可以放心使用该方式更新容器a中的文档。

关键依据

Azure Cosmos DB官方明确说明:

部分文档更新操作无法修改_ts、_etag、_rid这类系统生成属性,这些属性由平台统一管理,只有在执行全文档替换操作时才会被更新。

.NET Core 7 代码示例

使用CosmosClient执行部分更新的简化实现:

// 初始化客户端与容器
var cosmosClient = new CosmosClient("你的连接字符串");
var container = cosmosClient.GetContainer("数据库ID", "container-a");

// 定义要更新的字段操作(仅修改业务字段,不涉及系统属性)
var patchOperations = new List<PatchOperation>
{
    PatchOperation.Set("/userName", "新用户名"),
    PatchOperation.Increment("/loginCount", 1)
};

// 执行部分更新
var updateResponse = await container.PatchItemAsync<YourDocumentModel>(
    id: "目标文档ID",
    partitionKey: new PartitionKey("分区键值"),
    patchOperations: patchOperations
);

内容的提问来源于stack exchange,提问作者JHah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:52:05