MongoDB c#驱动程序,使用另一个实体字段中的数据更新实体字段

时间:2019-05-20 09:01:56

标签: c# mongodb mongodb-.net-driver mongodb-csharp-2.0

我正在使用以下软件包:

  • MongoDB.Driver-版本=“ 2.7.2”
  • MongoDB.Driver.Core-版本=“ 2.7.2”

我的模型如下所示:

data: {
  field1 :"1"
},

history: [{
  field1 :"0"
}]

现在,我想创建一个更新定义,该定义将当前对象放入“数据”中,并将其插入“历史”数组中。

我知道如何使用绝对值来实现。.

var updateDef = Builders<Entity>.Update.Push(x => x.History, historyObject);
updateDef = updateDef.Set(x => x.Data, newDataModel);

问题是我希望从当前文档的“数据”字段中自动获取“ historyObject”。

有什么想法吗?

当前解决方法

要解决此问题,我目前正在首先获取文档,并使用结果中的数据字段。

与此相关的问题是,如果在此期间数据发生更改,我们将使用.Set操作将其覆盖,而不会将其推入历史记录数组。

0 个答案:

没有答案