Database
[{"key":1},{"key":2}]
Query
db.collection.update({key:1},[{"$addFields":{changed:{"$function":{lang:"js","args":["$$ROOT",{"key":1,data:"somedata"}],"body":"function(originalDoc, newDoc) { return JSON.stringify(originalDoc) !== JSON.stringify(newDoc) }"}}}}],{upsert:true})