У меня есть три коллекции.
2.fav_companies {company_id, jobseeker_id} коллекция избранных компаний
3.job_postings {company_id, enable_status, job_created_at} коллекция объявлений о вакансиях .
Мне нужно получить подробную информацию о job_postings из любимых компаний пользователей, которые имеют статус уведомления true.
Я пытался присоединиться ко всем этим коллекциям, чтобы получить посты тех компаний, которые являются любимыми компаниями для пользователей. Поэтому мне нужно получить информацию обо всех пользователях, имеющих статус уведомления «истина», а затем найти любимые компании этих пользователей, а затем получить вакансию для любимых компаний.
db.collection('user_details').aggregate([
{$match : {user_favorite_company_notification_status: true}},
{$lookup: {from : 'favorite_companies' ,localField : '_id', foreignField: 'jobseeker_id', as: 'fav_companies'}},
{ "$unwind": "$fav_companies" },
{$lookup: {from : 'job_postings' , "pipeline":[
{"$match":{
$and:[
{company_id: "fav_companies.company_id"},
{enable_status: true},
{job_created_at: { $gt: previous_day}}
]
}
}
], as: 'jobposts'}},
]).toArray((err, result)=>{
console.log(result);
})