2016-06-16 3 views
0

Wenn ich ein Dokument mit Express und Mongoose aktualisiere, empfiehlt es sich, einfach den _id-Wert zu löschen und das Dokument zu speichern. Hier ist ein Beispiel für den Code, den ich verwende.Gibt es andere Möglichkeiten, ein Dokument mit Express und Mongoose zu aktualisieren, ohne die _id-Eigenschaft löschen zu müssen?

exports.update = function(req, res, next) { 
    var data = _.extend(app.locals.crewListing, req.body); 
    data = data.toObject(); 
    delete data._id; 
    app.locals.crewListing.save(function(err, result) { 
     if (err) return next(err); 
     res.json({ 
      message: null, 
      data: result 
     }); 
    }); 
}; 
+1

Warum löschen Sie die Eigenschaft '_id' aus' data'? – JohnnyHK

Antwort

0

Ich glaube nicht. Sie müssen auf jeden Fall sicherstellen, dass die _id Eigenschaft während der Aktualisierung nicht geändert wird. Der beste Weg ist,

if(data._id) { 
    delete data._id; 
} 

Aber ich würde jedes Feld des Objekts einzeln anstelle der Verwendung .extend() Funktion bevorzugen aktualisieren, da Sie wissen, welche Felder Sie aktualisieren.

Verwandte Themen