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

Cập nhật / Xóa tài liệu con trong mongodb bằng trình điều khiển C #

Để cập nhật tài liệu phụ, bạn có thể sử dụng cái này:

var update = Update.Set("AnswerList.$.OptionName", "new").Set("AnswerList.$.VoteCount", 5);
collection.Update(Query.And(Query.EQ("_id", new BsonObjectId("50f3c313f216ff18c01d1eb0")), Query.EQ("AnswerList.OptionId", "1")), update);

hồ sơ:

"query" : { "_id" : ObjectId("50f3c313f216ff18c01d1eb0"), "AnswerList.OptionId" : "1" },
"updateobj" : { "$set" : { "AnswerList.$.OptionName" : "new", "AnswerList.$.VoteCount" : 5 } }

Và để loại bỏ:

var pull = Update<Vote>.Pull(x => x.AnswerList, builder => builder.EQ(q => q.OptionId, "2"));
collection.Update(Query.And(Query.EQ("_id", new BsonObjectId("50f3c313f216ff18c01d1eb0")), Query.EQ("AnswerList.OptionId", "2")), pull);

hồ sơ:

"query" : { "_id" : ObjectId("50f3c313f216ff18c01d1eb0"), "AnswerList.OptionId" : "2" },
"updateobj" : { "$pull" : { "AnswerList" : { "OptionId" : "2" } } }

Một cách khác là cập nhật tài liệu gốc với bộ sưu tập con đã sửa đổi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb:Sử dụng số lượng bản ghi trong tổng hợp sau một nhóm

  2. Đầu nối bồn rửa Kafka:Không có nhiệm vụ nào được chỉ định, ngay cả sau khi khởi động lại

  3. Các giai đoạn và Pipelining của khung tổng hợp MongoDB

  4. MongoDB:Cách tìm mức lương cao thứ n từ bộ sưu tập

  5. Không thể lấy gói Cơ sở tài khoản để trỏ đến cơ sở dữ liệu chính xác