Обработка ошибок при сохранении вложенных документов в mongoose с помощью nodejs

Наборы Python AFAIK реализованы с использованием хэш-таблицы . Порядок, в котором элементы отображаются, зависит от используемой функции хэша. В рамках одного и того же запуска программы хеш-функция, вероятно, не изменяется, поэтому вы получаете тот же порядок.

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

1
задан Eduardo Yáñez Parareda 22 February 2019 в 07:45
поделиться

1 ответ

Если ответ не может существовать без пользователя, прежде всего вы должны найти пользователя. Если его нет, выведите ошибку, если она существует, просто создайте ответ, а затем прикрепите его к найденному пользователю.

User.findOne({email: req.email}, (error, foundUser)=>{
    if(error || foundUser === null){
        return res.status(400).json({status: false, message: 'user not found, or   whatever'})
    }
    RequestReply.create(newReply, (error, createdReply)=>{
        if(error || createdReply === null){
            return res.status(400).json({status: false, message: 'error getting data'})
        }
        // TODO Update user with the new reply  
    }
});

В любом случае, с Mongoose вы можете использовать обещания и избавляться от этих обратных вызовов, вложенных предложений, я думаю, что это чище.

0
ответ дан Eduardo Yáñez Parareda 22 February 2019 в 07:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: