Я использую mongodb
базы данных и хочу применить $lookup
к 2 collections
, но с указанными c условиями. У меня есть одна коллекция с именем Company
вот так
new Schema({
name: String,
benefit: String,
benefitDesc: String,
company_url: String,
logoUrl: String,
coverUrl: String,
desc: String,
createdAt: String,
categoryId: { type: Schema.Types.ObjectId, ref: 'categories' },
})
И еще одна collection
с именем Referrallinks
вот так
new Schema({
referral_link: String,
referral_code: String,
isLink: Number,
offer_name: String,
offer_desc: String,
user_email: String,
companyId: { type: Schema.Types.ObjectId, ref: 'companies' },
addedByAdmin: { type: Boolean, default: true },
number_of_clicks: Number,
referral_country: String,
link_status: String,
categoryId: { type: Schema.Types.ObjectId, ref: 'categories' },
number_of_clicks: { type: Number, default: 0 },
createdAt: String,
updatedAt: String,
userId: { type: Schema.Types.ObjectId, ref: 'users' }
})
Теперь, когда я применяю это $lookup
, я тоже получение этих результатов
[
{name : '', benefit : '', benefiDesc : '', categoryId : ObjectId("2342343"), category : {}, referrals : []},
{name : '', benefit : '', benefiDesc : '', categoryId : ObjectId("2342343"), category : {}, referrals : []},
{name : '', benefit : '', benefiDesc : '', categoryId : ObjectId("2342343"), category : {}, referrals : []},
.....
]
Теперь я хочу сделать поиск. В этом поиске я хочу отправить categoryId
со стороны клиента, и от имени этого categoryId
я должен найти все компании, принадлежащие этой компании с рефералами. Так как же мне этого достичь?