TypeError: Cannot create property '_id' auf string
Bin ich die Erstellung von einfachen rest-API habe ich ein Endpunkt für die post - /Daten-zum speichern von Daten in der MongoDB von externen API,
Hier ist was ich habe, so weit:
app.post('/data', (req, res) => {
let url = 'https://api.themoviedb.org/3/movie/401478/reviews?api_key=4d9c9de3bdf0d3b6837c49c086e3b190';
request(url, function (error, response, body) {
db.collection('data').insert(body, (err, result) => {
if (err) {
res.send({
'error': 'An error has occured'
});
} else {
res.send(result.ops[0]);
}
});
});
});
wenn ich test-api Postbote localhost:8000/data
in der Konsole bekomme ich Fehler:
TypeError: Cannot create property '_id' auf string
Was mache ich hier falsch?
body
ist nicht ein Objekt, wie offensichtlich der Fehler.- Haben Sie das
request
- Modul innpm
? - also, was muss ich ändern, bin neu auf dieser stuf obwohl?
- Ja , mit anderen Endgeräten funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
body
wird der JSON-string zu konvertieren, um JSON-Objekt, verwenden SieJSON.parse(body)
Basis auf Ihre Vorherige Frage, ich sehe Ihren Körper var ist derzeit eine Zeichenfolge, so dass Sie brauchen, um es zu ändern.
Wie Sie sehen können, "_id kann nicht sein", string "
wenn Sie die Anfrage-url "https://api.themoviedb.org/3/movie/401478/reviews?api_key=4d9c9de3bdf0d3b6837c49c086e3b190"
es wird eine Zeichenkette zurückgeben, die Aussehen wie JSON
so müssen Sie JSON.analysieren, um den Körper ändern von string-Objekt (einfügen von Daten, mongo muss sein Objekt)