// Update the team roster db.teams.updateOne( { _id : 'team-one' }, [ // Add 3 new players to the team { $set : { players : { $concatArrays : [ '$players', [ { number : 12, name : 'Alice' }, { number : 18, name : 'Bob' }, { number : 39, name : 'Chuck' }, ], ], } } }, // Remove someone from team by just one property (filter the players // list to only return players that don't have number 42) { $set : { players : { $filter : { input : '$players', as : 'player', cond : { $ne : [ '$$player.number', 42 ] } } } } }, // You can expand this to remove multiple records at once: { $set : { players : { $filter : { input : '$players', as : 'player', cond : { $and : [ // Remove any players with the number 0 or a blank name { $ne : [ '$$player.number', 0 ] }, { $ne : [ '$$player.name', '' ] }, ] }, } } } }, ] );