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

Jak mohu odstranit prvek vnořeného pole v dokumentu mongodb pomocí ovladače c#

Voláte metodu Pull(string name, MongoDB.Bson.BsonValue value) a podle dokumentů to

a poskytnete { "Identifier", productId } jako hodnotu. Myslím, že to mongo nenajde přesně hodnotu.

Zkuste použít druhé přetížení Pull s podmínkou dotazu namísto přesné hodnoty

var update = Update.Pull("Products", Query.EQ("Identifier", productId));

AKTUALIZACE

Protože jste zmínil Category entity, takže mohu navrhnout použití lambda místo Query.EQ :

var pull = Update<Category>.Pull(x => x.Products, builder =>
builder.Where(q => q.Identifier == productId));


  1. Výhoda unikátního indexu v MongoDB

  2. Node.js Mongoose .update s ArrayFilters

  3. Co je špatného na dotazu na odstranění MongoDB pomocí mongodb java pro dílčí pole dokumentu?

  4. MongoDB Vztah jeden k mnoha