Mongooses findById
Methode wandelt die id
um Parameter auf den Typ der _id
des Modells Feld, damit es ordnungsgemäß nach dem übereinstimmenden Dokument suchen kann. Dies ist eine ObjectId, aber "foo"
ist keine gültige ObjectId, daher schlägt die Umwandlung fehl.
Dies passiert nicht mit 41224d776a326fb40f000001
da diese Zeichenfolge eine gültige ObjectId ist.
Eine Möglichkeit, dies zu beheben, besteht darin, vor Ihrer findById
ein Häkchen hinzuzufügen aufrufen, um zu sehen, ob id
ist eine gültige ObjectId oder nicht so:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}