MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Драйверът на Mongo C# актуализира специфичен елемент във вложен масив

Имате нужда от $ позиционен оператор където можете да посочите условие на ниво документ и условие на ниво масив, за да намерите единичен вложен елемент в масив от определен документ. В C# $ знакът е представен от -1 се предава като индекс на масива от вашия модел. Опитайте:

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. качване на файл в папка в сайта на node-express с помощта на multer с mongodb

  2. MongoDb съществува на колона

  3. Mongodb и Express

  4. Ако имам идентификатор на документ mongo като низ, как да го потърся като _id?

  5. Забележка:Недефинирано свойство:MongoDB\Driver\Manager::$mydb в [Path] в wamp сървър