MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

CastError:Cast to ObjectId gagal untuk nilai nama rute di jalur _id untuk model

Urutan middlewares di sysaccess.js Anda router salah.

Misalnya:

// "GET /sysaccess/test" will be processed by this middleware
router.get('/:id', (req, res) => {
  let id = req.params.id; // id = "test"
  Foo.findById(id).exec().then(() => {}); // This line will throw an error because "test" is not a valid "ObjectId"
});

router.get('/test', (req, res) => {
  // ...
});

Solusi 1: jadikan middleware yang lebih spesifik itu sebelum yang lebih umum.

Misalnya:

router.get('/test', (req, res) => {
  // ...
});

router.get('/:id', (req, res) => {
  // ...
});

Solusi 2: gunakan next untuk meneruskan permintaan ke middleware berikutnya

Misalnya:

router.get('/:id', (req, res, next) => {
  let id = req.params.id;

  if (id === 'test') { // This is "GET /sysaccess/test"
    return next(); // Pass this request to the next matched middleware
  }

  // ...
});

router.get('/test', (req, res) => {
  // ...
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa perilaku pengaturan batas waktu dalam eksekusi pipa agregasi di Driver Java MongoDB?

  2. Bagaimana cara mengirim gambar yang diambil dari Mongo menggunakan GridFS di Spring Rest Call?

  3. lempar luwak baru.Error.MissingSchemaError(nama); ^ MongooseError:Skema belum terdaftar untuk pedagang model

  4. Menanamkan balasan pesan di dalam pesan induk dengan mongodb menggunakan mongoid

  5. Kembalikan dokumen di setiap grup dengan nilai maksimal menggunakan MongoDB