3.6 Bijwerken:
Gebruik $match met $expr . $expr staat het gebruik toe van aggregatie-expressies binnen $match podium.
db.collection.aggregate([
{"$match":{
"$expr":{
"$eq":[
{"$size":{"$setIntersection":["$FirstArray.Name","$SecondArray.Name"]}},
0
]
}
}},
{"$project":{"_id":1}}
])
Oude versie:
Je kunt $redact proberen met $setIntersection voor uw vraag.
$setIntersection om de FirstArray . te vergelijken s Name s met SecondArray s Name s en retourneert een array van documenten met veelvoorkomende namen gevolgd door $size en $redact en vergelijk het resultaat met 0 om het document te behouden en anders te verwijderen.
db.collection.aggregate(
[{
$redact: {
$cond: {
if: {
$eq: [{
$size: {
$setIntersection: ["$FirstArray.Name", "$SecondArray.Name"]
}
}, 0]
},
then: "$$KEEP",
else: "$$PRUNE"
}
}
}, {
$project: {
_id: 1
}
}]
)