MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je supprimer un élément de tableau imbriqué dans un document mongodb avec le pilote c#

Vous appelez la méthode Pull(string name, MongoDB.Bson.BsonValue value) et selon les docs il

et vous fournissez { "Identifier", productId } comme valeur. Je suppose que mongo ne trouve pas cela exact valeur.

Essayez d'utiliser la deuxième surcharge de Pull avec condition de requête au lieu de la valeur exacte

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

MISE À JOUR

Puisque vous mentionnez Category entité afin que je puisse suggérer d'utiliser lambda au lieu de Query.EQ :

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