如何在另一个模型 Mongoose 5.0 中引用嵌套模型



如何在另一个模型中引用嵌套模型。例如,有了这个shema,我想在User架构中引用subcategories

var UserSchema = Schema({
publications: [{
name:String,
categories: [{
type: Schema.Types.ObjectId,
refPath: 'Category.subcategories._id'
}]
}]
});

该类别还包含subcategories,定义如下:

var CategorySchema = Schema({
name: String,
subcategories: [{
name: String
}]
});

我试图参考CategorySchemasubcategories.

User模式中引用Category将完成这项工作,因为subcategories包含在Category中。这是您需要执行的操作:

首先,为包含以下代码的Category模型定义一个 shema 文件:

const mongoose = require('mongoose');
const CategorySchema = new mongoose.Schema({
name: String,
subcategories: [{
name: String
}]
});
const Category = mongoose.model('Category', 'CategorySchema', 'Category');
module.exports = { Category };

其次,为包含以下代码的User模型定义架构文件:

const mongoose = require('mongoose');
const Category = mongoose.model('Category');
const UserSchema = new mongoose.Schema({
publications: [{
name:String,
Category: Category.schema
}]
});
const User= mongoose.model('User', 'UserSchema', 'User');
module.exports = { User };

最新更新