MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso eliminare l'elemento dell'array nidificato in un documento mongodb con il driver c#

Stai chiamando il metodo Pull(string name, MongoDB.Bson.BsonValue value) e secondo i documenti

e fornisci { "Identifier", productId } come il valore. Immagino che mongo non lo trovi esatto valore.

Prova a usare il secondo sovraccarico di Pull con query-condizione invece del valore esatto

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

AGGIORNAMENTO

Dal momento che menzioni Category entità così posso suggerire di usare lambda invece di Query.EQ :

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