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