Mongoose 中使用 populate 实现关联查询
一、Mongoose populate 官方文档
https://mongoosejs.com/docs/populate.html
二、Mongoose populate 关联查询
article.js
var mongoose=require('./db.js'); var Schema=mongoose.Schema; var ArticleSchema = new Schema({ title:{ type: String, unique: true }, cid : { type: Schema.Types.ObjectId, ref:"ArticleCate" //cid和 文章分类建立关系。 model }, /*分类 id*/ author_id:{ type: Schema.Types.ObjectId , ref:"User" //author_id和 用户表建立关系。 model }, /*用户的id*/ author_name:{ type:String }, descripton:String, content : String }); module.exports=mongoose.model('Article',ArticleSchema,'article');
//注意使用 populate需要引入用到的model var ArticleCateModel=require('./model/articlecate.js'); var ArticleModel=require('./model/article.js'); var UserModel=require('./model/user.js'); //文章表和 分类表的关联 // ArticleModel.find({}).populate('cid').exec(function(err,docs){ // console.log(docs); // }) //三个表关联 ArticleModel.find({}).populate('cid').populate('author_id').exec(function(err,docs){ console.log(docs); }) // ArticleModel.aggregate 建议使用
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!