Database
[{"_id":"accountId 1","codes":[{"key":"advantageCode 1","dateBegin":"01/02/2012","dateEnd":"01/02/2013"},{"key":"advantageCode 2","dateBegin":"01/02/2012","dateEnd":"01/02/2013"}]}]
Query
db.collection.update({"_id":"accountId 1"},[{$set:{codes:{$cond:[{$in:["advantageCode 3","$codes.key"]},{$map:{input:"$codes",in:{$mergeObjects:["$$this",{}]}}},{$concatArrays:["$codes",[{"key":"advantageCode 3","dateBegin":"01/02/2022","dateEnd":"01/02/2023"}]]}]}}}])