sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad är Mongoose-felet Cast to ObjectId misslyckades för värde XXX vid sökväg _id?

Mongooses findById metoden castar id parameter till typen av modellens _id så att den korrekt kan söka efter det matchande dokumentet. Detta är ett ObjectId men "foo" är inte ett giltigt ObjectId så casten misslyckas.

Detta händer inte med 41224d776a326fb40f000001 eftersom den strängen är ett giltigt ObjectId.

Ett sätt att lösa detta är att lägga till en kontroll före ditt findById ring för att se om id är ett giltigt ObjectId eller inte som det:

if (id.match(/^[0-9a-fA-F]{24}$/)) {
  // Yes, it's a valid ObjectId, proceed with `findById` call.
}


  1. Vilket är det bästa MongoDB GUI? — Uppdatering 2019

  2. mongodb hur man ändrar standardport

  3. Bästa sättet att utföra en fulltextsökning i MongoDB och Mongoose

  4. MongoDB-verktyg från gemenskapen som kompletterar ClusterControl