Ich habe eine Express-JS-Anwendung, in der ich versuche, PUT (aktualisieren Sie den Namen eines vorhandenen Benutzers). Mein Schema ist verschachtelte Array und sieht wie folgt aus:Express JS PUT nicht speichern, aber es aktualisiert
Mein Code um diesen Benutzer zu aktualisieren PUT sieht wie folgt aus:
router.route('/sensors_update/:_id/')
.put(function (req, res) {
console.log("inside update put")
User.findById(req.params._id, function(err, user) {
if (err)
res.send(err);
console.log(user);
user.name = req.body.name;
console.log("User val is" + user);
user.save();
});
});
ich in der Lage bin eindeutig den Namen des Benutzer sehen zu wird über die JS-Konsole aktualisiert. Aber ich habe Probleme, wenn es darum geht, dieses Benutzerobjekt zu speichern. Ich denke, das sollte sein, weil ich ein verschachteltes Schema habe. Ist meine Annahme richtig? Vorschläge zum Speichern eines Benutzerobjekts mit verschachtelten Arrays Hier
ist die Konsole Nachricht:
inside update put
{ _id: 'Manasa',
name: 'Manasa Sub',
__v: 0,
sensors:
[ { sensor_name: 'ras',
_id: 57da0a4bf3884d1fb2234c74,
measurements: [Object] } ] }
User val is{ _id: 'Manasa',
name: 'Manas Sub',
__v: 0,
sensors:
[ { sensor_name: 'ras',
_id: 57da0a4bf3884d1fb2234c74,
measurements: [Object] } ] }
ich mich gefragt, warum die verschachtelte Array zugegriffen wird, wenn ich gerade bin versucht, den Namen des Benutzers zu aktualisieren & speichern.
Dank
UPDATE
_http_outgoing.js: 335 throw new Error (. 'Can \' t-Header gesetzt, nachdem sie gesendet werden '); ^ Fehler: Header können nach dem Senden nicht festgelegt werden.
Wie kann ich das lösen?
Antwort:
{
"message": "Cast to date failed for value \"7:00\" at path \"time\"",
"name": "CastError",
"type": "date",
"value": "7:00",
"path": "time"
}
Können Sie bitte mein Update sehen. Danke – HitRefresh
Dieser Fehler tritt auf, wenn Sie versuchen, eine Antwort mehrfach an den Client zu senden. Stellen Sie sicher, dass es in Ihrer Route korrekt ist. – Sachin
Konsole den Fehlerblock von findById. Es sollte keinen Fehler werfen. – Sachin