sql >> Databáze >  >> NoSQL >> MongoDB

Ovladač Mongo C# aktualizuje konkrétní prvek ve vnořeném poli

Potřebujete $ poziční operátor kde můžete zadat podmínku na úrovni dokumentu a podmínku na úrovni pole, abyste našli jednu vnořenou položku v poli konkrétního dokumentu. V C# $ znak je reprezentován -1 předán jako index vašeho modelového pole. Zkuste:

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. Agregace MongoDB:Jak získat celkový počet záznamů?

  2. Spring Data MongoDB, jak programově přiřadit čas vypršení platnosti

  3. Jak načíst obrazové soubory z mongodb na html stránku

  4. Třídění bez ohledu na velikost písmen v MongoDB