#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.