MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Sterownik Mongo C# aktualizuje określony element w zagnieżdżonej tablicy

Potrzebujesz operatora pozycyjnego $ gdzie możesz określić warunek na poziomie dokumentu i warunek na poziomie tablicy, aby znaleźć pojedynczy element zagnieżdżony w tablicy określonego dokumentu. W C# $ znak jest reprezentowany przez -1 przekazany jako indeks tablicy modelu. Wypróbuj:

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. Mongo DB z C# - dokument dodawany niezależnie od transakcji

  2. mangusta findById przy użyciu asynchronicznego oczekiwania

  3. Utwórz kolekcję w MongoDB

  4. Nie można uzyskać objętego zapytania dotyczącego kolekcji podzielonej na fragmenty w MongoDB

  5. mangusta wyjątkowa:prawda nie działa