sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo eliminar un elemento de matriz anidado en un documento mongodb con el controlador c#?

Estás llamando al método Pull(string name, MongoDB.Bson.BsonValue value) y según los documentos

y usted proporciona { "Identifier", productId } como el valor. Supongo que mongo no encuentra eso exacto valor.

Intenta usar la segunda sobrecarga de Pull con condición de consulta en lugar de valor exacto

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

ACTUALIZAR

Ya que mencionas Category entidad por lo que puedo sugerir el uso de lambda en lugar de Query.EQ :

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