这是我的类别架构,我在其中嵌套了nestedCategorySchema,并且希望在其他集合中引用this的此ObjectId
'
const mongoose = require("mongoose");
const { Schema } = mongoose;
const nestedCategorySchema = new Schema({
name: {
type: Schema.Types.ObjectId,
},
});
const categorySchema = new Schema(
{
clientname: {
type: Schema.Types.String,
},
categoryOne: {
type: [nestedCategorySchema],
default: [],
},
categoryTwo: {
type: [nestedCategorySchema],
default: [],
},
},
{
timestamps: true,
}
);
exports.default = mongoose.model("category", categorySchema);
mongoose.model("category").collection.createIndex({
clientname: 1,
});
'
在另一个集合中,我希望引用嵌套的categoryOneObjectId
'
const mongoose = require("mongoose");
const { Schema } = mongoose;
const prodSchema = new Schema(
{
categories: [
{
_id: false,
clientname: {
type: String,
},
** categoryLevelOne: {
type: mongoose.Schema.Types.ObjectId,
ref: "category.categoryOne",
},**
},
],
},
{
timestamps: true,
}
);
'
在prodSchema中,我希望引用嵌套的categoryOne
1条答案
按热度按时间ig9co6j11#
尝试将
nestedCategorySchema
声明为模型:并将
categorySchema
中的categoryOne
属性更改为ObjectId
引用:最后,根据您的配置,您可能应该将
prodSchema
中的categories
属性更改为ref本身:在
mongoose
中,只能创建对ObjectId
的引用。