Node.js sử dụng Mongoose.



  • Lời đầu tiền em xin chào các anh chị ,
    Em mới begin về Node.js và đang làm 1 cái project nhỏ.
    A/c cho e hỏi là vấn đề join bảng trong mongodb sử dụng mongoose đó ạ.
    Sử dụng như thế nào, và cho e ví dụ được k ạ?
    Thú thật thì e có đọc ở đây nhưng k hiểu rõ lắm :(
    http://mongoosejs.com/docs/populate.html
    Em xin cám ơn nhiều.



  • @thanhtran Mongodb nó không có join bạn
    Nó chỉ có Aggregation thôi
    https://docs.mongodb.com/manual/aggregation/



  • Em sử dụng cái module mongoose ạ.
    Có join đc các bảng với nhau.
    K biết là a đã dùng chưa..
    Thì cho e ví dụ được k ạ.



  • Populate thì đúng rồi,

    Ví dụ: em đang có 2 model:Sinhvien,Diem

    Mỗi sinh viên sẽ có nhiều điểm nên trong model Sinhvien em có 1 trường là diem, được khai báo dưới dạng mảng với cú pháp:

    var SinhvienSchema({ diem:[{ type: Schema.Types.ObjectId, ref: 'Diem' }] });

    tức là model Sinhvien đang populate đến model Diem qua field diem

    Khi tạo 1 Sinhvien mới ta push các id của điểm tương ứng với từng sinh viên vào field diem.

    khi truy vấn ta viết:

    Sinhvien.findById(id) .populate('diem') .exec() .then((data)=>{ })

    thì data trả về là 1 đối tượng, nếu k có populate thì diem sẽ là 1 mảng các id, nhưng nếu dùng thêm lệnh .populate('diem') thì khi đó diem lại là 1 mảng các đối tượng Diem có id tương ứng với id mà em truyền vào.



  • E cám ơn a.Tùng ạ. e hiểu rồi.
    Do đọc document mà e chưa rõ lắm.
    :D



  • Bạn đang chưa nắm được điểm khác nhau, mạnh, yếu giữa SQL và NoSQL.
    Nếu bạn không quen, không hiểu thì đừng nhất thiết sử dụng NoSQL như Mongo, hãy sử dụng cái MySQL, postgres đi đã.



  • @CodeConCat Thật sự thì E cũng chưa quen với NoSQL lắm ạ
    Nếu chưa quen thì e nghĩ là nên làm mới hiểu rõ ạ.
    Đừng chỉ nên dừng lại ở việc đọc mà hãy làm ạ.
    Cám ơn a vì lời khuyên.


Log in to reply