Ich habe zwei Sammlungen: Tests
und Reports
. Sie sind verwandt und Reports
haben Feldtest mit Test.id
. Jedes Test
Dokument hat testers_count
Feld.Zähle und vergleiche verwandte Dokumente in einer Abfrage
Auch ich habe Abfrage geschrieben sollte nur Tests
mit testers_count
größer oder gleich count
von verwandten docs zurückgegeben werden.
db.test.aggregate([
{
$lookup:
{
from: 'reports',
localField: '_id',
foreignField: 'test',
as: 'reportsList'
}
},
{
$match: {
"settings.testers_count": {$gte: {$size: "$reportsList"}}
}
}
])
Das Problem ist, dass der Code nicht funktioniert und keinen Fehler zurückgibt.
Ist die Sammlung namens 'Reports' oder' reports'? – Philipp
@Blakes Sie haben Recht, die $ Übereinstimmung ist "falsch". Soweit ich weiß, sollte der Wert eine Zahl oder eine Zeichenfolge sein. Aber es ist schwierig zu verstehen ohne Fehler ( – pavolve
Deshalb gibt es eine "Antwort" auf die Frage. $ Match ist nicht die richtige Verwendung in diesem Zusammenhang. –