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

Mongo trình điều khiển C # cập nhật một phần tử cụ thể trong một mảng lồng nhau

Bạn cần có toán tử $ positional nơi bạn có thể chỉ định điều kiện mức tài liệu và điều kiện mức mảng để tìm một mục lồng nhau trong một mảng tài liệu cụ thể. Trong C # $ dấu hiệu được đại diện bởi -1 được truyền dưới dạng chỉ mục của mảng mô hình của bạn. Hãy thử:

var col = mydb.GetCollection<Document>("collectionName");
var id = new ObjectId("5babaaf5509f6d342da5abaa");
var elementName = "Car";
var newValue = 2;

var filterBuilder = Builders<Document>.Filter;
var filter = filterBuilder.Eq(x => x.Id, id) &
    filterBuilder.ElemMatch(doc => doc.Elements, el => el.Name == elementName);

var updateBuilder = Builders<Document>.Update;
var update = updateBuilder.Set(doc => doc.Elements[-1].Value, newValue);

Col.UpdateOne(filter, update);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NHẬN thông tin từ người dùng trong cơ sở dữ liệu

  2. truy vấn tổng hợp mongodb không trả về số tiền thích hợp khi sử dụng $ sum

  3. Tham khảo toàn bộ tài liệu trong Đường ống tổng hợp MongoDB

  4. Mongoose cư trú phụ

  5. như truy vấn trong mongoDB