Tôi cần truy xuất một đối tượng và nhận các mối quan hệ cũng như các mối quan hệ lồng nhau.
Vì vậy, tôi có ba mô hình sau:
Mô hình người dùng:
module.exports = {
thuộc tính: {
name: {
gõ: 'chuỗi'
},
thú cưng: {
bộ sưu tập: 'thú cưng',
thông qua: 'chủ sở hữu',
}
}
Mẫu thú cưng:
module.exports = {
thuộc tính: {
name: {
gõ: 'chuỗi'
},
người sở hữu: {
mô hình: 'người dùng'
},
vắc-xin: {
bộ sưu tập: 'vacxin',
thông qua: 'thú cưng',
}
}
Mô hình vắc xin:
module.exports = {
thuộc tính: {
name: {
gõ: 'chuỗi'
},
thú cưng: {
người mẫu: 'thú cưng'
}
}
gọi User.findOne(name: 'everton').populate('pets').exec(....)
Tôi nhận được người dùng và thú cưng liên quan. làm sao tôi có thểmỗiVật nuôi có được tiêm phòng không? Tôi không tìm thấy tài liệu tham khảo nào về điều này trong tài liệu chính thức.
Tôi cũng gặp phải sự cố này và theo như tôi biết, các truy vấn nối lồng nhau chưa được tích hợp vào Sail (tính đến bài viết này).
Bạn có thể sử dụng Promise để xử lý phần đệm lồng nhau cho mình, nhưng việc này có thể khá phức tạp nếu bạn đệm nhiều cấp độ.
类似于:
User.findOne(tên: 'everton')
.populate('thú cưng')
.then(hàm(người dùng) {
user.pets.forEach(function (pet) {
//nạp vắc xin cho thú cưng
});
});
Đây là chủ đề được thảo luận rộng rãi trên Sails.js và thực tế có một yêu cầu kéo mở bổ sung nhiều chức năng này. Kiểm trahttps://github.com/balderdashy/waterline/pull/1052
Tôi là một lập trình viên xuất sắc, rất giỏi!