Ich finde ein einziges Dokument mit findOne()
Mein Dokument hat userid
als einer der Schlüssel in meinem Benutzermodell.Mongoose findOne() gibt ein leeres Objekt zurück
Beispiel
{
userid: 1,
name: 'John'
}
Jetzt kann dieses Dokument als Objekt Ich bin empfangen, wenn ich folgend
users.findOne({userid: 1}, function(e, data){
if(e){
return (res.send('Failed'))
}else{
return (res.send(data))
}
});
jedoch tun, wenn ich den gleichen Wert von userid
einreichen versuchen dynamisch dann das data
obj gibt null
zurück und immer noch if(e)
Anweisung wird nicht ausgeführt.
Beispiel
users.findOne({userid: req.body.userid}, function(e, data){
if(e){
return (res.send('Failed'))
}else{
return (res.send(data))
}
});
I Konsole angemeldet den Wert von req.body.userid
und überprüft, dass es 1 ist, wenn ich es dynamisch übergeben.
Was mache ich falsch? Ist der Wert req.body.userid
nicht korrekt an userid
Schlüssel übergeben?
Nun, wenn (e) ausgeführt und der Fehler sagt, ich habe ein Cast-Fehler. "name": "CastError", Ich habe auch sichergestellt, dass der Wert von req.body.userid ganzzahlig ist. – Aditya
console.log der Wert von 'req.body.userid',' typeof req.body.userid' und 'parseInt (req.body.userid)' um sehen zu können, was von der Anfrage und dem Typ von 'kommt userid' ... weil der Fehler bedeutet, dass das 'parseInt'-Funktionsergebnis' NAN' ist, was bedeutet, dass 'req.body.userid' kein Zahlenstring oder eine Zahl ist –
Der ausgeführte Typ der Benutzerkennung im Dokument ist die Nummer und der typeOf req.body.userid ist ebenfalls eine Zahl. – Aditya