首页 > 解决方案 > 如何克隆 DocumentDB 文档?

问题描述

我正在尝试在 C# 中创建一个实用程序,用于更新idCosmos DB 文档中字段的值。

为此,我的攻击计划是:

我遇到的问题是我不知道如何克隆Microsoft.Azure.Documents.Document. 我现有的代码显然只是创建一个副本:

var existingDocument = new Document(); // Pretend this is coming from database and is an actual document.
var newDocument = existingDocument; // Need to clone object... how?
newDocument.Id = $"{docType}_{docId}";
newDocument.SetPropertyValue("_rid", null);
newDocument.SetPropertyValue("_self", null);
newDocument.SetPropertyValue("_etag", null);
newDocument.SetPropertyValue("_attachments", null);
newDocument.SetPropertyValue("_ts", null);

我怎样才能创建一个克隆,Microsoft.Azure.Documents.Document以便newDocument不仅仅是对 的引用existingDocument

标签: .net-coreazure-cosmosdb

解决方案


我的“攻击计划”是错误的……我没有必要尝试克隆Document对象来更新id字段。我可以简单地ReplaceDocumentAsync()使用DocumentClient. 呃。

await _docClient.ReplaceDocumentAsync(existingDocument, options);

推荐阅读