• 1403/12/27

فیلتر دو سطحی با aggregate :

سه تا مدل دارم Room -> Project -> Account

const RoomSchema = new BaseSchema({
    project: {
        type: Schema.ObjectId,
        ref: 'Project'
    },
 
})

 

const Project = new BaseSchema({
   owner: {
                type: Schema.ObjectId,
                ref: 'Account'
            },
})

 

روی Room به شکل زیر دارم aggregate  میزنم 

const userRoomsProjects = await RoomModel.aggregate([
                    {
                        $lookup: {
                            from: "projects",
                            localField: "project",
                            foreignField: "_id",
                            as: "project",
                        },
                    },
                    { $match: {"item.owner": userId}}
                ]);

 

میخوام room هایی برگرده که ایدی کاربرشون در project ، برابر با  userId باشه ولی هر کاری کردم نشد؟!

 

logo-enamadlogo-samandehi