在Mongoose中,A' ref '是模式类型的属性,指定了引用文档现场的MongoDB集合。它用于在 mongodb 数据库中的两个或多个集合之间创建“关系”。
例如,假设您的MongoDB数据库中有两个集合:“用户”和“帖子”。如果您想将每个“帖子”文档与写作的“用户”相关联,则可以通过在猫鼬架构中使用' ref '属性来做到这一点。
这是一个示例,说明了您如何在猫鼬模式中使用' ref '属性来在“用户”和“帖子”集合之间建立关系:
const userSchema = new mongoose.Schema({
name: String,
email: String
});
const postSchema = new mongoose.Schema({
title: String,
body: String,
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}
});
在此示例中,“ post”模式的'作者'字段是' objectid ',它引用了“用户”集合中的文档。 ' ref '属性指定'作者'字段是对“用户”集合中的文档的引用。
然后,您可以使用' pupulate()'方法用实际的用户文档填充'作者'字段,例如:
Post.find().populate('author').exec((err, posts) => {
// `posts` is an array of post documents with the associated user documents
// embedded in the `author` field
});
我希望这会有所帮助!让我知道您是否有任何疑问。