Rumah > Soal Jawab > teks badan
黄舟2017-04-27 09:04:18
mongodb
Tidak menyokong join
pertanyaan (sambungan)
習慣沉默2017-04-27 09:04:18
cth:
db.users.insert({name:'tmac',blogid:1});
db.blog.insert({id:1,detail:'tmacs blog'});
pengguna mempunyai blogid atribut dan id blog adalah satu dengan satu:
db.users.find().forEach(function(x){
var blogs_record = db.blogs.findOne({id:x.blogid});
if(blogs_record != null){
db.temp.insert({name:x.name,detail:blogs_record.detail});
}
)
cth:
db.users.insert({name:'tmac',blogid:1});
db.blog.insert({id:1,detail:'tmacs blog1'});
db.blog.insert({id:1,detail:'tmacs blog2'});
Pengguna mempunyai blogid atribut dan id blog ialah sepasang n:
db.users.find().forEach(function(x){
db.blogs.findOne({id:x.blogid}).forEach(function(y){
db.temp.insert({name:x.name,y.detail});
})
)
漂亮男人2017-04-27 09:04:18
Blog boleh terus membenamkan maklumat pengarang sebagai sub-dokumen blog.
曾经蜡笔没有小新2017-04-27 09:04:18
Mongoose menyediakan kaedah populate untuk melaksanakan gabungan. Tetapi saya juga tidak faham~
http://www.nodeclass.com/api/mongoose.html#guide_populate
Kaedah yang agak mudah tetapi kekok adalah dengan menanyakan satu jadual dahulu, kemudian bagiSetiap keputusan dan kemudian menanyakan jadual lain seperti jawapan di atas.