Database

[{tariffs:{electricity:{assigned_eans:[{end_date:null,stop_reason:""},{end_date:ISODate("2022-08-20T18:00:00.000Z"),stop_reason:"reason"},{end_date:"",stop_reason:null},]},gas:{assigned_eans:[{end_date:null,stop_reason:""},{end_date:ISODate("2022-07-20T18:00:00.000Z"),stop_reason:"reason"},{end_date:"",stop_reason:null},]}}}]

Query

db.collection.update({end_date:{$exists:false}},[{$set:{end_date:ISODate("2022-09-20T18:00:00.000Z"),stop_reason:"deactivated_account","tariffs.electricity.assigned_eans":{$map:{input:"$tariffs.electricity.assigned_eans",in:{end_date:{$ifNull:[{$cond:[{$eq:["$$this.end_date",""]},ISODate("2022-09-20T18:00:00.000Z"),"$$this.end_date"]},ISODate("2022-09-20T18:00:00.000Z")]},stop_reason:{$ifNull:[{$cond:[{$eq:["$$this.stop_reason",""]},"deactivated_account","$$this.stop_reason"]},"deactivated_account"]}}}},"tariffs.gas.assigned_eans":{$map:{input:"$tariffs.gas.assigned_eans",in:{end_date:{$ifNull:[{$cond:[{$eq:["$$this.end_date",""]},ISODate("2022-09-20T18:00:00.000Z"),"$$this.end_date"]},ISODate("2022-09-20T18:00:00.000Z")]},stop_reason:{$ifNull:[{$cond:[{$eq:["$$this.stop_reason",""]},"deactivated_account","$$this.stop_reason"]},"deactivated_account"]}}}}}}],{multi:true})

Result