Органайзеры, Коллекции продуктов, мне нужно снова присоединиться к таблице продуктов с опубликованным идентификатором пользователя и коллекциями организаторов и приобретенным идентификатором пользователя с пользователями и организаторами. Я могу объединять продукты с пользователями, но не могу объединять пользователей с организатором.
Products.find({})
.populate({
path: 'intresteduserIds.userId',
// Get friends of friends - populate the 'friends' array for every friend
populate: { path: 'intresteduserIds.user_organizationid' } /* How to join with organizer collection which have organizer id*/
})
.populate('product_postedby');
Схема продуктов:
const ProductsObj = new Schema({
product_title: String,
product_category: String,
product_startDate: Date,
product_startTime: String,
product_endDate: Date,
product_endTime: String,
product_isPrivateEvent: Boolean,
product_desc: String,
product_postedby: { type: mongoose.Schema.ObjectId, ref: 'User' },
intresteduserIds: [
{
userId: {
type: mongoose.Schema.ObjectId,
ref: 'User',
requested: false
},
name: String,
email: String,
mobilenumber: String,
notes: String,
requirestedDate: Date,
status: String,
eventsList: [
{
id: mongoose.Schema.ObjectId,
name: String
}
],
intrestedType: String
}
]
});
Схема пользователей, которая содержит идентификатор организатора:
const usersSchema = new Schema({
user_organizationid: {
type: mongoose.SchemaTypes.ObjectId,
required: false,
index: true,
ref: 'Oranizations'
},
user_firstname: String,
user_lastname: String,
user_username: String,
user_mobilenumber: String,
user_mobilenumber_code: String,
user_email: String,
user_role: {
type: mongoose.SchemaTypes.ObjectId,
required: false,
index: true
}
});
Схема организатора:
const organizerSchema = new Schema({
org_name: String,
org_type: String, // organizer,ground , ecommerce seller,
org_category: String, // corporate company,supplier
org_logo: String,
org_address_id: { type: mongoose.Schema.ObjectId, required: false },
org_stack_exchange_id: String,
org_created_dated: Date,
org_updated_date: Date,
org_activte_status: Boolean,
user_hashcode: String
});
Итак, в конце концов мне нужно:
{
product:'product info',
posted_userid:{
posted_userinfo:'',
organizerInfo:'join with user if there this information'
},
intrestedusers:{
userid:{
userinfo:'',
organizerInfo:'join with user if there this information'
}
}
}
Как мне найти решение здесь?