MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Co to jest błąd Mongoose Cast to ObjectId nie powiodło się dla wartości XXX w ścieżce _id?

findById Mongoose metoda rzutuje id parametr do typu modelu _id tak, aby mógł poprawnie wyszukać pasujący dokument. To jest ObjectId, ale "foo" nie jest prawidłowym identyfikatorem obiektu, więc rzutowanie się nie powiedzie.

Tak się nie dzieje w przypadku 41224d776a326fb40f000001 ponieważ ten ciąg jest prawidłowym identyfikatorem obiektu.

Jednym ze sposobów rozwiązania tego problemu jest dodanie czeku przed findById zadzwoń, aby sprawdzić, czy id jest prawidłowym identyfikatorem ObjectId lub nie tak:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można uruchomić MongoDB jako usługi

  2. MongoDB® z Hadoop i powiązanymi technologiami Big Data

  3. Biorąc sumę kolumny w MongoDB

  4. Jak uzyskać wszystkie wartości, które zawierają część ciągu za pomocą wyszukiwania mangusty?

  5. Mongo konwertuje wszystkie pola numeryczne, które są przechowywane jako ciąg