sql >> Database >  >> NoSQL >> MongoDB

Wat is Mongoose-fout Gegoten naar ObjectId mislukt voor waarde XXX op pad _id?

Mongoose's findById methode werpt de id parameter naar het type _id . van het model veld zodat het correct kan zoeken naar het overeenkomende document. Dit is een ObjectId maar "foo" is geen geldige ObjectId, dus de cast mislukt.

Dit gebeurt niet met 41224d776a326fb40f000001 omdat die string een geldige ObjectId is.

Een manier om dit op te lossen is door een controle toe te voegen voorafgaand aan uw findById bel om te zien of id is een geldige ObjectId of niet zoals:

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


  1. Async programmeerparadigma met nodejs en redis-node

  2. Mangoestschema:'uniek' wordt niet gerespecteerd

  3. Celery gebruiken voor realtime, synchrone externe API-query's met Gevent

  4. Mongoose findOneAndUpdate en runValidators werken niet