I am new in the MongoDB world and now I am struggling of how can I delete, update element in a nested array field of a document. Here is my sample document:
{
You are calling method Pull(string name, MongoDB.Bson.BsonValue value)
and according to the docs it
Removes all values from the named array element that are equal to some value (see $pull)
and you provide { "Identifier", productId }
as the value. I guess that mongo does not find that exact value.
Try to use the second overload of Pull
with query-condition instead of exact value
Removes all values from the named array element that match some query (see $pull).
var update = Update.Pull("Products", Query.EQ("Identifier", productId));
UPDATE
Since you mention Category
entity so I can suggest using lambda instead of
Query.EQ
:
var pull = Update.Pull(x => x.Products, builder =>
builder.Where(q => q.Identifier == productId));