Database
[{id:1,pool:"A",teams:[{name:"New-Zealand",wins:4,draws:0,losses:0,PointsFor:143,PointsAgainst:35,DIFF:0},{name:"France",wins:3,draws:0,losses:1,PointsFor:129,PointsAgainst:41,DIFF:0},{name:"Italy",wins:2,draws:0,losses:2,PointsFor:88,PointsAgainst:75,DIFF:0},{name:"Uruguay",wins:0,draws:1,losses:3,PointsFor:50,PointsAgainst:102,DIFF:0},{name:"Namibia",wins:0,draws:1,losses:3,PointsFor:53,PointsAgainst:113,DIFF:0}]},{id:2,pool:"B",teams:[{name:"South-Africa",wins:3,draws:1,losses:0,PointsFor:132,PointsAgainst:32,DIFF:0},{name:"Ireland",wins:3,draws:1,losses:0,PointsFor:126,PointsAgainst:35,DIFF:0},{name:"Scotland",wins:2,draws:0,losses:2,PointsFor:95,PointsAgainst:69,DIFF:0},{name:"Tonga",wins:1,draws:0,losses:3,PointsFor:66,PointsAgainst:91,DIFF:0},{name:"Romania",wins:0,draws:0,losses:4,PointsFor:30,PointsAgainst:110,DIFF:0}]}]
Query
db.collection.update({},[{"$addFields":{"teams":{"$map":{"input":"$teams","as":"t","in":{"$mergeObjects":["$$t",{DIFF:{"$subtract":["$$t.PointsFor","$$t.PointsAgainst"]}}]}}}}}],{multi:true})