## **2、Mongoose populate 官方文档**
https://mongoosejs.com/docs/populate.html
## **2、Mongoose populate 关联查询**
![](https://box.kancloud.cn/c2f16b67f2055d2dcbf3ebb4244cc82f_1188x471.png)
#### 1、定义 ref
```
var ArticleSchema = new Schema({
title:{
type: String,
unique: true
},
cid : {
type: Schema.Types.ObjectId,
ref:'ArticleCate' //model 的名称
}, /*分类 id*/
author_id:{
type: Schema.Types.ObjectId,
ref:'User'
}, /*用户的 id*/
author_name:{
type:String
},
descripton:String,
content : String
});
```
#### 2、关联查询
```
ArticleModel.find({}).populate('cid').populate('author\_id').exec(function(err,docs){
console.log(docs)
})
```
- 前言
- 一、MongoDb 数据库介绍、安装、使用
- 二、MongoDB 数据库创建删除、表(集合) 创建删除、数据增删改查
- 三、MongoDB 索引 和 explain 的使用
- 四、Nodejs 操作 MongoDb 数据库
- 五、关系型数据库表(集合)与表(集合)之 间的几种关系
- 六、MongoDB 的高级查询 aggregate 聚合管道
- 七、mongoose 入门以及 mongoose 实现数据 的增、删、改、查
- 八、Mongoose 预定义模式修饰符 Getters 与 Setters 自定义修饰符
- 九、Mongoose 索引、Mongoose 内置 CURD 方 法、扩展 Mongoose Model 的静态方法和 实例方法
- 十、Mongoose 数据校验
- 十一、Mongoose 中使用 aggregate 聚合管道
- 十二、Mongoose 中使用 populate 实现关联查询
- 十三、MongoDb 数据库的导出导入