如何使用C#更新Cosmos DB文档

时间:2019-11-13 05:27:24

标签: c# azure azure-functions azure-cosmosdb

如果文件名已经存在,我想更新cosmos DB中的文档。为此,我传递了一个查询,该查询将带来结果,并且我想更新该结果。我想为其设置修改日期。如果是新创建的,则在其中添加修改的日期。
我正面临更新它的问题,它将在其他部分出现。
这是我的代码段:

        Class1 obj = new Class1()
        {
            BlobPath = "/container",
            size = (int)myBlob.Length,
            Name = name,
            CreationDateTime = DateTime.Now.ToString()

        };
        string obj1 = JsonConvert.SerializeObject(obj);

        var query = client.CreateDocumentQuery<Class1>(
            UriFactory.CreateDocumentCollectionUri("testDb", "testDocumentCollection"))
           .Where(jo => jo.Name.Equals(name))
            .AsEnumerable().FirstOrDefault();


        if (query == null)
        {

            var document1 = await client.CreateDocumentAsync(
                            UriFactory.CreateDocumentCollectionUri("testDb", "testDocumentCollection"),
                            obj);

        }

1 个答案:

答案 0 :(得分:1)

要更新文档,您必须使用Upsert方法:
DocumentClient.UpsertDocumentAsync Method

此博客条目包含有关它的一些详细信息:
DocumentDB: To create, or not to create, that is the question