是为了实现关联查询,即通过一个字段关联到另一个集合中的数据。
具体使用方法如下:
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
name: String,
age: Number
});
const articleSchema = new mongoose.Schema({
title: String,
content: String,
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User' // 关联到User集合
}
});
const User = mongoose.model('User', userSchema);
const Article = mongoose.model('Article', articleSchema);
Article.find().populate('author').exec((err, articles) => {
if (err) {
console.error(err);
return;
}
console.log(articles);
});
Article.find().populate({ path: 'author', select: 'name' }).exec((err, articles) => {
if (err) {
console.error(err);
return;
}
console.log(articles);
});
Article.find().populate('author department').exec((err, articles) => {
if (err) {
console.error(err);
return;
}
console.log(articles);
});
在使用populate时,需要注意以下几点:
推荐的腾讯云相关产品:腾讯云数据库 MongoDB,详情请参考腾讯云数据库 MongoDB。
领取专属 10元无门槛券
手把手带您无忧上云