nếu tôi hiểu đúng câu hỏi của bạn, bạn muốn khớp với name trường với we và cập nhật arr chỉ khi nó tồn tại ?, bạn phải sử dụng elemMatch, nói cách khác để có được tài liệu phù hợp
db.test.update({ list: { $elemMatch: { name: "We" , arr: { $nin: [ "valuette" ] }} } }, { $push: { "list.$.arr": "valuette" } } );
$ trong "list. $. arr" khớp với chỉ mục được chỉ định khớp với name trường với we giá trị
cập nhật:để trả lời câu hỏi OP