У меня есть 2 схемы, категории и карты. Каждая категория имеет массив карточек, и я хочу заполнить этот массив значениями, но я не уверен, как go об этом, так как документация mon goose несколько сбивает с толку для понимания.
// Схемы в отдельных файлах // Схема категории
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const categorySchema = new Schema({
title: {
type: String,
trim: true,
max: 30,
},
cards: [{ type: Schema.Types.ObjectId, ref: "categoryCard" }],
});
module.exports = mongoose.model("category", categorySchema);
// Схема карты категории
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const categoryCardSchema = new Schema({
category: {
type: String,
trim: true,
},
name: {
type: String,
trim: true,
},
post: {
type: String,
required: true,
trim: true,
},
});
module.exports = mongoose.model("categoryCard", categoryCardSchema);
// Ниже приведен файл маршрутизатора express. Я хочу, чтобы пользователи могли создавать карточки для разных категорий после того, как категория уже создана. Он работал в почтальоне, но по какой-то причине он не работает на переднем конце.
router.route("/createCard").post((req, res) => {
const { title, name, post } = req.body;
newCard = new categoryCard({
category: title,
name,
post,
});
newCard.save();
category.findOne({ title }).exec((err, item) => {
if (!err) {
item.cards.push(newCard._id);
item.save();
res.send(item);
} else {
res.send(err);
}
});
});