3.6 Aktualisierung:
Verwenden Sie $match
mit $expr
. $expr
ermöglicht die Verwendung von Aggregationsausdrücken innerhalb von $match
Stufe.
db.collection.aggregate([
{"$match":{
"$expr":{
"$eq":[
{"$size":{"$setIntersection":["$FirstArray.Name","$SecondArray.Name"]}},
0
]
}
}},
{"$project":{"_id":1}}
])
Alte Version:
Sie können es mit $redact
versuchen mit $setIntersection
für Ihre Anfrage.
$setIntersection
um das FirstArray
zu vergleichen s Name
s mit SecondArray
s Name
s und geben ein Array von Dokumenten mit gebräuchlichen Namen zurück, gefolgt von $size
und $redact
und Ergebnis mit 0
vergleichen um das Dokument zu behalten oder zu entfernen.
db.collection.aggregate(
[{
$redact: {
$cond: {
if: {
$eq: [{
$size: {
$setIntersection: ["$FirstArray.Name", "$SecondArray.Name"]
}
}, 0]
},
then: "$$KEEP",
else: "$$PRUNE"
}
}
}, {
$project: {
_id: 1
}
}]
)