Database
[{calls:[{"name":"sam","status":"scheduled"},{"name":"tom","status":"cancelled"},{"name":"bob","status":"scheduled"},],"time":1620095400000.0,"call_id":"ABCABCABC"},]
Query
db.collection.aggregate([{"$addFields":{calls:{$map:{input:"$calls",as:"call",in:{$cond:[{$eq:["$$call.status","scheduled"]},{"$mergeObjects":["$$call",{call_id:"$call_id"}]},"$$call"]}}}}}])