se eu entendi corretamente sua pergunta, você deseja corresponder
name
campo com we
key e atualize arr
somente se existir ?, você tem que usar elemMatch, em outro para obter o documento certo db.test.update({ list: { $elemMatch: { name: "We" , arr: { $nin: [ "valuette" ] }} } }, { $push: { "list.$.arr": "valuette" } } );
o
$
em "list.$.arr" corresponde ao índice especificado que corresponde a name
campo com we
valor atualização:para responder à pergunta OP