Ich bin sehr neu zu Mungo und Javascript versprechen. Ich werde Update-Abfrage in der globalen Versprechen Art und Weise schreiben und mein Code in der folgenden-Kann UnhandledPromiseRejectionWarning Problem in meiner Mungo-Abfrage nicht lösen
metadataAPI.route('/:surveyID')
.put(function(req, res) {
Surveys.findOne({_id : req.params.surveyID}, {"metadata" : 1})
.then(function(survey) {
return survey.metadata;
})
.catch(function(err) {
res.json({ Message : "Incorrect surveyID!"});
})
.then(function(metadata) {
Surveys.findOneAndUpdate(
{_id : req.params.surveyID},
{
$set : {
"metadata.language" : req.body.language || metadata.language,
"metadata.createdBy" : req.body.createdBy || metadata.createdBy,
"metadata.qCount" : req.body.qCount || metadata.qCount,
"metadata.category" : req.body.category || metadata.category,
"metadata.suggestionEnable" : req.body.suggestionEnable || metadata.suggestionEnable,
"metadata.publish" : req.body.publish || metadata.publish,
"metadata.pageArray" : req.body.pageArray || metadata.pageArray
}
}
)
.then(function() {
Surveys.findOne({_id : req.params.surveyID}, {"metadata" : 1})
.then(function(survey) {
res.json(survey);
})
.catch(function(err) {
res.send(err);
});
})
.catch(function(err) {
res.send(err);
});
})
.catch(function(err) {
res.send(err);
});
});
Mein Problem ist, dass, obwohl ich habe den Fang() -Prozedur nach jeder der dann() Funktion. Ich bekomme immer noch das UnhandledPromiseRejectionWarning von Knoten. Wie kann ich es lösen? Vielen Dank!
Ihre Hauptprobleme sind, dass Sie nicht richtig verkettet sind ('Return' von Ihren 'then' Callbacks, setzen Sie einen' catch' am Ende) und dass Sie 'Surveys.findOneAndUpdate' aufrufen, wenn Sie eine falsche ID haben, wie du * das * schon im 'catch' gehandhabt hast. – Bergi
Was ist der Stack-Trace? Was ist die Fehlermeldung? – Bergi
Danke Bergi! – Randal