Database
[{_id:1,seniorityDate:"2001-01-01T00:00:00Z",assigned:[{groupId:11,system:"Dep",effectiveDate:null},{groupId:12,system:"Team",effectiveDate:null},/**...*/]}]
Query
db.collection.update({"assigned.system":"Team"},[{$set:{"assigned":{$map:{input:"$assigned",in:{$mergeObjects:["$$this",{effectiveDate:{$cond:{if:{$eq:["$$this.system","Team"]},then:"$seniorityDate",else:"$$this.effectiveDate"}}}]}}}}}],{multi:true})