MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Truy vấn, lọc và cập nhật các mảng lồng nhau nhiều cấp trong MongoDB bằng C #

Bạn nên sử dụng $ [] nhiều toán tử vị trí, tôi sẽ cố gắng viết những gì bạn nên sử dụng cho mã bạn đã dán:

var baseFilter = Builders<Project>.Filter.Eq("ProjectID": 1);
var update = Builders<Project>.Update.Set("ProjectTasks.$[i].Comments.$[j].CommentDescription", comment.CommentDescription);

var arrayFilters = new List<ArrayFilterDefinition>
{
    /* change the type names here if they have different names, I just guessed */
    new BsonDocumentArrayFilterDefinition<ProjectTask>(new BsonDocument("i.ProjectTaskID", projectTaskID)),
    new BsonDocumentArrayFilterDefinition<Comment>(new BsonDocument("j.CommentId", commentID))
};

var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters };

await Collection.UpdateOneAsync(baseFilter, update, updateOptions);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kiểm tra bộ lọc trên tài liệu ở phía máy khách

  2. heroku mongohq và mongoid Mongo ::ConnectionFailure

  3. Cách tìm các truy vấn không sử dụng chỉ mục hoặc chậm trong mongodb

  4. Cách khởi động mongo db trên Windows

  5. Birt mongodb param