als ik je vraag goed heb begrepen, wil je overeenkomen met name veld met we sleutel,en update arr alleen als het bestaat?, moet je elemMatch gebruiken, anders om het juiste document te krijgen
db.test.update({ list: { $elemMatch: { name: "We" , arr: { $nin: [ "valuette" ] }} } }, { $push: { "list.$.arr": "valuette" } } );
de $ in "list.$.arr" komt overeen met de opgegeven index die overeenkomt met name veld met we waarde
update:om de OP-vraag te beantwoorden