Я новичок в этом технологическом стеке, я в основном хочу сохранить данные курса, которые имеют несколько вложенных документов, любые предложения о том, как сохранить данные или любой подход, чтобы помочь моей проблеме, приветствуются.
// схема.
const mongoose = require('mongoose');
const CourseSchema = mongoose.Schema({
categoryname: {
type: String,
required: "Course Category",
min: 3,
max: 100
},
coursename: {
type: String,
required: "Course Name",
min: 3,
max: 100
},
levels:{
level: [
{
levelid: Number,
levelname: String,
chapters: {
chapter: [
{
chapternumber: Number,
chaptername: String,
content: String //To be elaborated for media
}
]
}
}
]
}
});
mongoose.set('useFindAndModify', false);
module.exports = mongoose.model('Course', CourseSchema);
// бэкэнд
mongoose.connect(db.url, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true })
.then(() => {
console.log("Database connected");
}).catch(err => {
console.log('Could not connect to the database. Exiting now...', err);
process.exit();
});
app.post("/addcourse", (req,res) => {
const course = new Course({
categoryname: req.body.categoryname,
coursename: req.body.coursename,
levelid: req.body.levels.level.levelid,
levelname: req.body.levels.level.levelname,
chapternumber: req.body.levels.level.chapters.chapter.chapternumber,
chaptername: req.body.levels.level.chapters.chapter.chaptername,
content: req.body.levels.level.chapters.chapter.content
})
course.save()
.then(result => {
// res.status().send("data entered", result);
res.write("data received :", course)
console.log(course);
res.end();
})
.catch(err => {
res.json(err);
console.log(err);
});
})
// почтальон
тело письма
{
"categoryname":"computer applications",
"coursename":"web programming",
"levels":{
"level":[
{
"levelid":1,
"levelname": "level one",
"chapters":{
"chapter":[
{
"chapternumber":1,
"chaptername": "chapter one",
"content" : "some content"
}]
}
}]
}
}
// ошибка
Ошибка типа: невозможно прочитать свойство 'глава' из неопределенного в app.post (C: \ Users \ ranjith_biswas \ Desktop \ Career_ladder \ mern \ new_cl \ new_cl \ backend \ server. js: 50: 55)