Я немного смущен возвратным значением обновления Mongoldb и как мне обрабатывать ошибки с ним.Значение возврата и обработки ошибок Mongoose/Mongodb
Я использую Node.js, Express.js и Mongoose.js как мой водитель MongoDB
Как я смотрю через много учебника, единственный способ обработки ошибок, я видел это ...
Примера : простая схема пользователь .. и я хочу, чтобы обновить telephoneNumber
Users
{
email : [email protected],
telephoneNumber : 123456
}
Пример обработки ошибок написано в Node.js, что многие учебник научил меня
Users.update({email: [email protected]}, {'$set': {telephoneNumber : 654321}, function(err, result){
if(err){
//err
}else if(!result){
//update not success
}else{
//update success
}
});
, но когда я смотрю через MongoDB документацию, я обнаружил, что значение WriteConcern возврата обновление, которое вернуть что-то вроде этого
{
"ok" : 1, // update with no err
"nModified" :1, // successfully update 1 user
"n" : 1 // found 1
}
Так что мой вопрос, я должен обрабатывать свою ошибку, как это вместо того, чтобы я знал бы больше о неудачах обновления ...
Users.update({email: [email protected]}, {'$set': {telephoneNumber : 654321}, function(err, result){
if(err || result.ok === 0){
//err
}else if(result.nModified === 0){
//update fail
}else if(result.n === 0){
//could not be found
}else{
//update success
}
});
Является ли это плохой подход для обновления и обработки в мангустов/MongoDB?
Спасибо! :)
Благодарю за помощь :) У меня есть некоторые вопросы. Итак, если я обрабатываю ошибку, как это, это означает, что я могу обрабатывать ошибку, как первый пример моего сообщения? Если да, будет ли эта обработка ошибок работать для каждой операции mongodb/mongoose (например, обновление, поиск, сохранение и т. Д.)? Спасибо :) – pupuupup
О да, и еще 1 вещь, что, если я хочу знать, обновила ли когда-либо обновляемую документацию какого-либо документа. Должен ли я по-прежнему использовать result.nModified> 0, чтобы проверить, обновлен ли какой-либо документ? – pupuupup
Да, вы можете сделать это, чтобы убедиться, что обновление произошло. –