mongoose - mongodb连表查询
淡淡烟草味
淡淡烟草味 2017-04-27 09:02:18
0
4
831

mongo如何连表查询,比如有一个users 还有一个blogs 输出 blogs内容和作者信息

淡淡烟草味
淡淡烟草味

répondre à tous(4)
黄舟

mongodbNe prend pas en charge les joinrequêtes (de connexion)

des bases de données relationnelles
習慣沉默

par exemple :

db.users.insert({name:'tmac',blogid:1});
db.blog.insert({id:1,detail:'tmacs blog'});

Les utilisateurs ont un attribut blogid et les identifiants des blogs sont un à un :

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});
}
)

par exemple :

db.users.insert({name:'tmac',blogid:1});
db.blog.insert({id:1,detail:'tmacs blog1'});
db.blog.insert({id:1,detail:'tmacs blog2'});

Les utilisateurs ont un attribut blogid et l'identifiant des blogs est une paire de n :

db.users.find().forEach(function(x){
db.blogs.findOne({id:x.blogid}).forEach(function(y){
db.temp.insert({name:x.name,y.detail});
})
)
漂亮男人

Les blogs peuvent intégrer directement les informations sur l'auteur en tant que sous-documents des blogs.

曾经蜡笔没有小新

Mongoose fournit la méthode populate pour implémenter la jointure. Mais je ne comprends pas non plus~
http://www.nodeclass.com/api/mongoose.html#guide_populate

Une méthode relativement simple mais maladroite consiste à interroger d'abord une table, puis forEach le résultat, puis à interroger une autre table comme la réponse ci-dessus.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal