Ich versuche ein MongoDB-Dokument mit dem folgenden Code zu aktualisieren. Wenn ich es laufen lasse, erhalte ich folgende Fehlermeldung:Warum gibt mir MongoDB FindByIdAndUpdate einen Fehler?
error= MongoError: After applying the update to the document {_id: ObjectId('596684d72084af52d51b4574') , ...}, the (immutable) field '_id' was found to have been altered to _id: ObjectId('596734cd9a40f6561bcd0c2a')
ich nicht für das Leben von mir sehen, wo ich das _id Feld bin zu ändern.
Kann jemand sehen, was ich falsch mache?
Danke.
exports.updateSubmission_post = function(req, res) {
var submission = new Submission();
submission.publication = req.body.sub_publication;
submission.submission_date = req.body.sub_submission_date;
submission.response_date = req.body.sub_response_date;
submission.response = req.body.sub_response;
Submission.findByIdAndUpdate(req.body.sub_submissionId, submission, {}, function (err, submission) {
if (err) {
console.log('error= ' + err);
return err;
}else{
Sie ändern es natürlich in "' submission' ", wobei die' neue' Instanz einen anderen '_id' Wert hat. Anstatt das ganze Objekt auf den Server zu werfen, sollten Sie lernen, die Eigenschaften einfach über ['$ set'] zu aktualisieren (https://docs.mongodb.com/manual/reference/operator/update/set/) –