Маршруты MongoDB в стеке Мерна - PullRequest
0 голосов
/ 11 марта 2020

Я хочу опубликовать эту указанную c структуру для пользователя в MongoDB:

{
    "proposal": [{
        "uid":"12345",
        "clientEmail": "lee.raymond61@gmail.com",
        "summary": "This is a proposal designed to increase brand awareness",
        "terms":"50% Deposit",
        "form":[{
            "video":"videourl.aws.com",
            "title":"Tone of Shoot",
            "options": [{
                            "header":"Header",
                            "subHeader": "Subheader",
                            "price": 54
                        }, {
                            "header":"Header1",
                            "subHeader": "Subheader1",
                            "price": 55
                        }, {
                            "header":"Header2",
                            "subHeader":"Subheader2",
                            "price":56
                        }]
        },
        {
            "video":"videourl1.aws.com",
            "title":"Location Area",
            "options": [{
                            "header":"Header",
                            "subHeader":"Subheader",
                            "price":540
                        },{
                            "header":"Header1",
                            "subHeader":"Subheader1",
                            "price":550
                        },{
                            "header":"Header2",
                            "subHeader": "Subheader2",
                            "price":560
                        }]
       }] 
}]
}

Я получил неправильный запрос "Ошибка: Ошибка типа: Невозможно прочитать свойство '$' из неопределенного". Мой маршрут для этой структуры данных:

router.route('/update/:id').post((req, res) => {

  User.findById(req.params.id)
    .then(user => {
        user.proposal.$.update(
            uid = req.body.uid,
            clientEmail = req.body.clientEmail,
            summary = req.body.summary,
            terms = req.body.terms,
            user.proposal.form.$.update(
                video = req.body.form.$.video,
                title = req.body.form.$.title,
                user.proposal.form.$.options.$.update(
                    header = req.body.form.$.options.$.header,
                    subHeader = req.body.form.$.options.$.subHeader,
                    price = req.body.form.$.options.$.price
                )
            )
        )
     user.save()
        .then(user => res.json("User Proposal Updated"))
        .catch(err => res.status(400).json('Error: ' + err));   
    })
    .catch(err => res.status(400).json('Error: ' + err));
});

Я считаю, что ошибка заключается в том, что я обновил массивы, такие как предложения, формы, параметры. Я новичок в этом, и был бы признателен за любые предложения. Спасибо.

...