мой код ниже возвращает «Пользователь удален», даже если пользователь уже удален. Я бы предпочел бросить в этом случае, но я бы хотел, чтобы запросил БД как можно меньше.Mongoose: remove() возвращает true для удаленных объектов
Есть ли способ получить userNotFound
(см. Ниже) без проверки вручную, существовал ли пользователь перед удалением? Возможно, я пропустил функцию remove()
или альтернативную функцию.
var itemId = 123;
Item.remove({id: itemId}, function(err) {
if (err) {
return res.json({success: false, msg: 'Cannot remove item'});
}
// !!!
if (userNotFound) {
return res.status(404).json({success: false, msg: 'User not found'});
}
// /!!!
res.json({success: true, msg: 'User deleted.'});
});
Заранее благодарен!
Функции вы пропустили фактически проверки возвращаемого значения. Вы также приняли неверный ответ, поскольку накладные расходы на фактическое получение документа, когда вам не нужно, - это то, что вам следует избегать. –