Hey everybody,
in short: Can I conditionally populate on the same level? (or something similar)
In long:
I have three databases:
(1) User
(2) Courses
(3) Lessons
User can be enrolled in Courses (Array of Objects with IDs in the User) and Courses consists of Lessons. (In the Courses db, each document has an array with lesson names in it)
Users should only get the information about the course lessons, after the course enrollment was confirmed by the admin. For this, the UserInterface has for each course enrollment a “confirmed” field as boolean:
interface UserInterface {
name: string
email: string
password: string
courseEnrollments?: {
course: mongoose.Types.ObjectId
confirmed?: boolean
expiresOn?: Date
}[]
}
interface CourseInterface {
name: string
lessons?:
{
name: string
}[]
}
My idea was to populate the User.courseEnrollments.course
but only if the ````User.courseEnrollments.confirmed is
true `` .
When the enrollment is not confirmed, the server should not fetch any information about the lessons from the database.
I didn’t find out how to do it. Any ideas?