jeśli dobrze zrozumiałem twoje pytanie, chcesz dopasować name
pole z we
klucz i zaktualizuj arr
tylko jeśli istnieje?, musisz użyć elemMatch, w innym, aby uzyskać odpowiedni dokument
db.test.update({ list: { $elemMatch: { name: "We" , arr: { $nin: [ "valuette" ] }} } }, { $push: { "list.$.arr": "valuette" } } );
$
w "list.$.arr" pasuje do określonego indeksu, który pasuje do name
pole z we
wartość
aktualizacja:aby odpowiedzieć na pytanie OP