Ошибка типа: Недопустимая конфигурация схемы: «модель» не является допустимым типом в массиве » категория`

#node.js #mongodb #mongoose

Вопрос:

у меня есть две схемы: Товар и Категория. Я хочу использовать категорию в элементах, как я могу их объединить? Вот код:

Категория:

 const mongoose = require('mongoose');

const categorySchema = mongoose.Schema({
    name: {type: String, required: true},
    description: {type: String, required: true},
    city: {type: String, required: true},
});

var categoryData = mongoose.model("categoryData", categorySchema);
module.exports = categoryData;
 

Предмет:

 const mongoose = require('mongoose');
const categSchema = require("./category.js")

const itemSchema = mongoose.Schema({
    name: {type: String, required: true},
    created: {type: Date, required: true, unique: true},
    category: [categSchema],
    quantity: {type: Number, required: true}
});

var itemData = mongoose.model("itemData", itemSchema);
module.exports = itemData;
 

И ошибка, которую я получаю, это «Ошибка типа: Неверная конфигурация схемы: недопустимый model тип в массиве category «.

Что я делаю не так?

Комментарии:

1. Я думаю, это произошло потому, что вы экспортировали модель категории вместо схемы. Изменить module.exports = categoryData на module.exports = categorySchema

2. Дополнительные документы о вложенных схемах

3. Спасибо, сработало!

Ответ №1:

Вместо module.exports = categoryData

Сделайте следующее:

  module.exports = categorySchema.