更新文档内部和文档内部的文档

本文关键字:文档 内部 更新 | 更新日期: 2023-09-27 18:00:42

这是我的应用程序文档

{
  "_id": "binary_stuff",
  "Name": "MyApplication",
  "Settings": [
    {
      "_id": "binary_stuff",
      "Key": "ImportDirectory",
      "Value": "C:'data",
      "Overrides": [{
             "_id": "binary_stuff",
             "NewValue": "C:'anotherData"
       }]
    },
}

我知道如何添加设置子文档,但如何添加新的覆盖"子文档"。

我试过了:

var query = Query.And(Query.EQ("_id", applicationId), Query.EQ("Settings._id", settingId));
var update = Update.AddToSetWrapped("Settings.Overrides", overrideViewModel.ToBsonDocument());
Run(database => database.Applications().Update(query, update, UpdateFlags.Upsert, SafeMode.True));

它什么都不做。。。

如有任何帮助,我们将不胜感激。

谢谢大家!!

更新文档内部和文档内部的文档

我找到了答案,我不得不使用操作$

var query = Query.And(Query.EQ("_id", applicationId), Query.EQ("Settings._id", settingId)); 
var update = Update.AddToSetWrapped("Settings.Overrides", overrideViewModel.ToBsonDocument()); 
Run(database => database.Applications().Update(query, update, UpdateFlags.Upsert, SafeMode.True));