如何使用Mongo命令在DocumentDB中“修补”文档

时间:2019-06-28 08:22:42

标签: c# .net-core aws-documentdb

我的代码如下:

const component = createComponent(Component, {
    inputParamName: value
});  


const componentHtml = component.elementRef.nativeElement;

例如,我在DocumentDB中的1个文档是:

MyModel requestID = new MyModel
            {
                "id" = "123"
            };

MyModel toUpdate = new MyModel
            {
               "is_cancelled" : true
            };

FilterDefinition<MyModel> filter = requestID.ToBsonDocument();
UpdateDefinition<MyModel> update = toUpdate.ToBsonDocument();
collection.FindOneAndUpdate(filter, update);

我的toUpdate是:

{
  "id": "123",
  "delnum": "100001"
}

FindOneAndUpdate之后的预期文档是:

{
  "is_cancelled" : true
}

但是正在发生的是,它正在将我的id = 123的文档替换为以下内容:

{
  "id": "123",
  "delnum": "100001",
  "is_cancelled" : true
}

我想知道我做错了还是我的预期结果不正确。


修改后的代码:

{
  "is_cancelled" : true
}

1 个答案:

答案 0 :(得分:2)

您没有指定要更新的内容。

Mongo希望json看起来像这样:

values=(w['word'],)

您可以使用更新生成器来简化此操作:

{
  "$set" : {
    "is_cancelled" : true
  }
}

您还可以在构建器上链接多个var builder = Builders<MyModel>.Update; var update = builder.Set("is_cancelled", true); 方法:

Set