如何从 mongodb 获取特定的嵌入式数组并使用 mongodb c# 驱动程序将其附加到新文档中

How to Get specific embedded array from mongodb and append it with new document using mongodb c# driver

我想从 mongodb 文档中获取特定的嵌入式数组,并使用 "mongodb.Driver" .net 驱动程序在该嵌入式数组中添加新文档。

正在插入文档为:

{
  "_id": "5c41b5c6b0ce0437dc576c53",
  "ProjectId": "234",
  "OwnerId": "62",
  "ProjectName": "proj4h46m",
  "FileDetails": [
    {
      "TotalWord": "-1",
      "RepeatedWord": "-1",
      "TMWordCount": "-1",
      "TranslationRequired": "-1",
      "ParentFileName": "test",
      "ChildFileName": "test_AR-SA",
      "Status": "Newly Uploaded"
    }
  ]
}

我希望从中获取 "FileDetails" 数组并添加新文档并更新到 mongodb。如下图:

{
  "_id": "5c41b5c6b0ce0437dc576c53",
  "ProjectId": "234",
  "OwnerId": "62",
  "ProjectName": "proj4h46m",
  "FileDetails": [
    {
      "TotalWord": "-1",
      "RepeatedWord": "-1",
      "TMWordCount": "-1",
      "TranslationRequired": "-1",
      "ParentFileName": "test",
      "ChildFileName": "test_AR-SA",
      "Status": "Newly Uploaded"
    },
    {
      "TotalWord": "10",
      "RepeatedWord": "3",
      "TMWordCount": "12",
      "TranslationRequired": "1",
      "ParentFileName": "test2",
      "ChildFileName": "test_AR-KSA",
      "Status": "Newly Uploaded"
    }
  ]
}

我用下面的方法得到了这个:-

 var query2 = Query.EQ(""ProjectId", "234");
 var document=@"{""TotalWord"": ""10"",""RepeatedWord"": "3",""TMWordCount"": ""12"",""TranslationRequired"": ""1"",""ParentFileName"": ""test2"",""ChildFileName"": ""test_AR-KSA"",""Status"": ""Newly Uploaded""}";
 var update = Update.Push("FileDetails", document.ToBsonDocument());
 collec.Update(query2, update);