Database
[{"key":1,"logs":[{"app_logs":[{"stdout":"app_stdout_1","stderr":"app_stderr_1"}],"syslog":"syslog_val1"},{"app_logs":[{"stdout":"app_stdout_2","stderr":"app_stderr_2"}],"syslog":"syslog_val2"}]},]
Query
db.collection.update({"key":1,"logs.syslog":"syslog_val1"},[{$set:{"lastLog":{$arrayElemAt:["$logs",-1]}}},{$set:{"logs":{$concatArrays:[{$slice:["$logs",{$add:[{$size:"$logs"},-1]}]},[{$mergeObjects:["$lastLog",{"app_logs":{$concatArrays:["$lastLog.app_logs",[{"stdout":"app_stdout_new","stderr":"app_stderr_new"}]]}}]}]]}}},{$unset:"lastLogs"}])