Anda dapat melakukannya menggunakan .aggregate()
metode dan $redact
operator. Di $cond
. Anda ekspresi Anda perlu menggunakan $setIsSubset
untuk memeriksa apakah semua elemen dalam larik "produk" ada di "productIds". Ini karena Anda tidak dapat menggunakan $in
dalam ekspresi kondisional
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])