MongoDB объединяет 2 таблицы и поле выбора равно нулю
В MongoDB
У меня есть заявление о приеме на работу. У меня есть две коллекции Jobs
а также HelperJobs
, Первая коллекция содержит все задания, а вторая отображает помощников на задания, на которые они подписаны.
Я хочу выбрать все задания, на которые текущий вошедший в систему пользователь не подписан. Таким образом, следующий код работает, чтобы вернуть коллекцию пересечения всех заданий и вспомогательных заданий, но я хочу, чтобы он возвращал только коллекцию, в которой другое поле (часы) является нулевым.
db.jobs.aggregate([{
$lookup: {
from: "helperjobs",
localField: "_id",
foreignField: "job",
as: "temp"
}
}])
1 ответ
Просто добавьте $match после поиска $, используя temp.hours
поле для фильтрации:
db.jobs.aggregate([{
$lookup: {
from: "helperjobs",
localField: "_id",
foreignField: "job",
as: "temp"
},
{
$match: { "temp.hours": { $exists:false } }
}
}])