如何使用带有DocumentDb api的CosmoDb中的where where条件更新对象

时间:2017-10-12 15:04:48

标签: c# mongodb azure-cosmosdb

将CosmoDb与来自c#的MongoDb api一起使用我可以使用过滤条件更新文档而不是使用Id。 例如,这段代码可以与CosoDb和MongoDb api一起使用。

        public bool UpdateTask(MyTask myTask)
    {
        var mongoCollection = GetBsonCollectionForEdit();
        var builder = Builders<BsonDocument>.Filter;

        var filterName = builder.Eq("Name", myTask.Name);
        var filterCategory = builder.Eq("Category", myTask.Category);
        var filter = builder.And(new[] { filterName, filterCategory });

        var replaceUpdate = Builders<BsonDocument>.Update;
        var ret = mongoCollection.ReplaceOne(filter, myTask.ToBsonDocument());

        return ret.ModifiedCount == 1;
    }

我可以使用SQL DocumentDb api对CosmoDb做同样的事情吗? (没有实现UDF或StoredPoc)

由于

1 个答案:

答案 0 :(得分:0)

不,但您可以使用CreateDocumentQuery对条件执行查询,然后迭代匹配的ID并使用ReplaceDocumentAsync对每个条件执行更新。