Database

[{"_id":ObjectId("57315ba4846dd82425ca2408"),"content":[{"language":"fr","title":"Bonjour"},{"language":"en","title":"Hello"}]}]

Query

db.collection.update({_id:ObjectId("57315ba4846dd82425ca2408")},[{"$set":{"langIndex":{"$indexOfArray":["$content.language","fr",/** "it" -> concatenates arrays*/],},},},{"$set":{"content":{"$cond":[{"$eq":["$langIndex",-1],},{"$concatArrays":["$content",[{"language":"it","title":"Ciao"}]]},/** here we should try and merge*//** object at index $langIndex with the*//** update*/"<merge object at index $langindex>",],}}}])

Result