Я не могу публиковать данные во вложенных поддокументах в mongoDB, используя express - PullRequest
0 голосов
/ 02 марта 2020

Я новичок в этом технологическом стеке, я в основном хочу сохранить данные курса, которые имеют несколько вложенных документов, любые предложения о том, как сохранить данные или любой подход, чтобы помочь моей проблеме, приветствуются.

// схема.

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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...