Database

[{"countries":[{"country":"France","cities":[{"city":"Paris","population":100}]},{"country":"England","cities":[{"city":"London","population":100},{"city":"Liverpool","population":100}]},]}]

Query

db.collection.update({},[{$set:{countries:{$cond:[{$in:["France","$countries.country"]},{$map:{input:"$countries",in:{$cond:[{$eq:["France","$$this.country"]},{$mergeObjects:["$$this",{$cond:[{$in:["Paris","$$this.cities.city"]},{cities:{$map:{input:"$$this.cities",in:{$cond:[{$eq:["Paris","$$this.city"]},{city:"Paris",population:1000},"$$this"]}}}},{cities:{$concatArrays:["$$this.cities",[{city:"Paris",population:100}]]}}]}]},"$$this"]}}},{$concatArrays:["$countries",[{country:"France",cities:[{city:"Paris",population:100}]}]]}]}}}])

Result