У меня есть две коллекции: Tests
и Reports
. Они связаны и Reports
имеют полевые испытания с Test.id
. Каждый документ Test
имеет поле testers_count
.Подсчет и матч похожие документы в одном запросе
Также я написал запрос, который должен возвращать только Tests
с testers_count
больше или равен count
связанных Reports
документов.
db.test.aggregate([
{
$lookup:
{
from: 'reports',
localField: '_id',
foreignField: 'test',
as: 'reportsList'
}
},
{
$match: {
"settings.testers_count": {$gte: {$size: "$reportsList"}}
}
}
])
Проблема в том, что код не работает и не вызывает никаких ошибок.
Является ли коллекция именем 'Отчеты' или' отчеты'? – Philipp
@Blakes Вы правы, $ match является «неправильным». Насколько я понимаю, значение должно быть числом или строкой. Но это трудно понять без ошибок ( – pavolve
Вот почему есть «ответ» на вопрос. '$ Match' не является правильным использованием в этом контексте. –