skynyrd
10/27/2016 - 7:27 AM

Mongo tricks

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.

Add new field and set incremental value to each document