Hỏi về truy vấn database NodeJs, ExpressJS, Mongoose



  • Em có một bài toán như sau. Cho 4 bảng:

    • Users(_id, id_class, name)
    • Classes(_id, name)
    • Topics(_id, name)
    • StudentTopics(_id, id_student, id_topic)

    Em có 2 điều muốn làm:

    • Lấy danh sách môn học mà sinh viên A chưa đăng ký.
    • Lấy thông tin của sinh viên A bao gồm tên sinh viên, tên lớp, tên các môn học đã đăng ký.

    Yêu cầu đặt ra là mỗi bài toán chỉ sử dụng một truy vấn database. Hoặc càng ít truy vấn càng tốt ạ. Ai có thể giúp em viết câu truy vấn như thế nào ạ. Em cảm ơn.



  • Đơn giản nhất là create View - 1 Virtual table có data từ các table khác. Moogoose có thể có package hỗ trợ, tham khảo https://www.npmjs.com/package/mongoose-view



  • Mongodb là NoSQl bác chia bảng thế thì khác gì SQL,
    Tận dụng tính năng populate của mongoose đi bác.


Log in to reply