आपको बस $filter
. की जरूरत है सरणी और केवल उन उप-दस्तावेज़ों को रखें जहां मान आपके इनपुट सरणी का एक सबसेट है। ध्यान दें कि मान यहाँ एक तत्व सरणी है जहाँ तत्व एम्बेडेड फ़ील्ड है value
।
let fruits = ["apple","banana","coconut"];
db.collection.aggregate([
{ "$project": {
"Element": {
"$filter": {
"input": "$Element",
"as": "el",
"cond": {
"$setIsSubset": [ [ "$$el.Value" ], fruits ]
}
}
}
}}
])
MongoDB 3.4* से शुरू करके आप $in
. का उपयोग कर सकते हैं $project
. में ऑपरेटर मंच।
db.collection.aggregate([
{ "$project": {
"Element": {
"$filter": {
"input": "$Element",
"as": "el",
"cond": {
"$in": [ "$$el.Value", fruits ]
}
}
}
}}
])
*इस लेखन के समय के रूप में MongoDB का अप्रकाशित संस्करण