#mongodb #mongoose #nested
Вопрос:
Моя схема :
const ClassroomSchema = new mongoose.Schema({ name: String, organization_id: { type: mongoose.Schema.Types.ObjectId, ref: "organization", }, sessions: [ { sessionName: String, topics: [ { topicName: String, subTopics: [ { subTopicName: String, contents: [ { type: mongoose.Schema.Types.ObjectId, ref: "content", }, ], }, ], }, ], }, ], });
Я хочу получить только содержимое указанной подтемы
Мой код :
const data = await Classroom.findOne( { _id: roomId, }, subTopics: { $elemMatch: { _id: subTopicId, }, }, } ).populate({ path: "sessions.topics.subTopics.contents", } ); res.json(data);
Мой вывод должен содержать только массив содержимого только указанных подтем
Но это приводит к множеству тем и подтем, а также к содержанию всех