小编Cis*_*sco的帖子

使用 C# 查询、过滤和更新 MongoDB 中的多级嵌套数组

我有这个 MongoDB 文档。我正在开发一个 MVC 应用程序并尝试使用 C# 更新注释数组(注释描述为“更新后注释”)。我正在使用新的 mongodb 版本。

{
   "ProjectID":1,
   "ProjectName":"Project test",
   "ProjectStatus":"Active",
   "ProjectTasks":[
      {
         "ProjectTaskID":1,
         "TaskShortDescription":"short task description",
         "TaskLongDescription":"long task description",
         "Comments":[
            {
               "CommentID":1,
               "CommentDescription":"comment before update",
               "CreatedBy":"Mike",
               "UploadDocuments":{
                  "TaskID":null,
                  "CommentID":null,
                  "UploadDocumentID":1,
                  "UploadDocumentName":"first document upload"
               }
            }
         ]
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用这个:

var filter = Builders<Project>.Filter.And(Builders<Project>.Filter.Eq(x => x.ProjectID, projectID), Builders<Project>.Filter.ElemMatch(x => x.ProjectTasks, x => x.ProjectTaskID == projectTaskID), Builders<Project>.Filter.ElemMatch(x => x.ProjectTasks.ElementAt(-1).Comments, x => x.CommentID == comment.CommentID));

var update = Builders<Project>.Update.Set(x => x.ProjectTasks.ElementAt(-1).Comments.ElementAt(-1).CommentDescription, comment.CommentDescription );

Collection.UpdateOneAsync(filter, update, new UpdateOptions() { …
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-csharp-2.0

4
推荐指数
1
解决办法
2950
查看次数

标签 统计

c# ×1

mongodb ×1

mongodb-csharp-2.0 ×1