se ho capito bene la tua domanda, vuoi abbinare name
campo con we
chiave e aggiorna arr
solo se esiste ?, devi usare elemMatch, in altri per ottenere il documento giusto
db.test.update({ list: { $elemMatch: { name: "We" , arr: { $nin: [ "valuette" ] }} } }, { $push: { "list.$.arr": "valuette" } } );
il $
in "list.$.arr" corrisponde all'indice specificato che corrisponde a name
campo con we
valore
aggiornamento:per rispondere alla domanda OP