Mongo tricks
Sample Mongo Document:
{
"a" : "aValue",
"b" : "bValue",
"c" : [
{
"c1" : "c1Value",
"c2" : "c2Value"
}
]
}
Updating all c1's to c1UpdatedValue where c2 = c2Value in one transaction.
var query = Query.EQ("c.c2", "c2Value");
var result = mongoCollection
.Update(query, Update.Set("c.$.c1", "c1UpdatedValue"), UpdateFlags.Multi, WriteConcern.Acknowledged);
If Multi flag is false, it only updates the first document.