Bạn có thể thực hiện việc này bằng cách sử dụng .aggregate() và $redact nhà điều hành. Trong $cond của bạn biểu thức bạn cần sử dụng $setIsSubset để kiểm tra xem tất cả các phần tử trong mảng "sản phẩm" có nằm trong "productIds" hay không. Điều này là do bạn không thể sử dụng $in trong biểu thức điều kiện
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])