Database
[{"prop":{"nestedField":"oldValue"/** Property to be updated*/},"keyPath":"prop.nestedField",/** Path to the target field using dot notation*/"val":"newValue"/** New value to set to target field*/}]
Query
db.collection.update({},[{"$set":{"tokens":{"$split":["$keyPath","."]}}},{"$replaceWith":{"$mergeObjects":["$$ROOT",{"$arrayToObject":[[{k:{"$first":"$tokens"},v:{"$arrayToObject":[[{k:{"$last":"$tokens"},v:"$val"}]]}}]]}]}},{"$unset":"tokens"}])