Я новичок в мангуста, так что с учетом ...Mongoose автоинкремент путаница
Я пытаюсь обновить данные в документе, без успеха. Приведенный ниже код идентифицирует документ так, как я ожидаю, и изменяет модель как ожидаемую. Однако обновленная модель не сохраняется в MongoDB, и я затрудняюсь объяснить, почему ... (Возможно, я должен использовать инструкцию findOneAndUpdate, но работать по частям, как это легче следовать.)
UserModel.findOne({memberID: req.params.memberID}, function(err, foundObject) {
if(err) {
console.log('ERROR PUT:/updateUser -> ' + err);
res.status(500).send();
} else {
if(!foundObject) {
console.log('ERROR - PUT:/updateUser, No such record -> ' + req.params.memberID);
res.status(500).send();
} else {
console.log("1 :" + foundObject.info.fName);
if(req.body.fName)
foundObject.info.fName = req.body.fName;
console.log("2 :" + foundObject.info.fName);
foundObject.update(function(err, updatedObject) {
if(err) {
console.log('ERROR - PUT:/updateUser, SAVE FAIL -> ' + err);
res.status(500).send();
} else {
res.status(200).send(updatedObject);
}
});
}
}
});
выход из Почтальон (который я использую для проверки) является { «оК»: 1, «nModified»: 0, «п»: 1 } и прямой, консольный запрос на БД не показывает никаких изменений.
Вместо foundObject.update попробовать с функцией foundObject.save. –
Я вижу, что вы пытаетесь найти 1 запись и обновите ее. Тогда почему бы не использовать FindAnyModify? читайте больше на 'https: // docs.mongodb.com/manual/reference/method/db.collection.findAndModify /' –
Что вы подразумеваете под путаницей автоинкремента? –