MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lỗi Mongoose Truyền tới ObjectId không thành công cho giá trị XXX tại đường dẫn _id là gì?

findById của Mongoose phương thức truyền id tham số cho loại _id của mô hình để nó có thể truy vấn đúng tài liệu phù hợp. Đây là một ObjectId nhưng "foo" không phải là ObjectId hợp lệ nên quá trình truyền không thành công.

Điều này không xảy ra với 41224d776a326fb40f000001 bởi vì chuỗi đó là một ObjectId hợp lệ.

Một cách để giải quyết vấn đề này là thêm séc trước findById của bạn gọi để xem id là một ObjectId hợp lệ hay không giống như vậy:

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. 3 cách để trả lại giá trị khác biệt trong MongoDB

  2. MongoDB $ mul

  3. MongoDB - ngừng hoạt động với mã:62

  4. Bất kỳ lý do chi tiết và cụ thể nào cho việc Tại sao MongoDB nhanh hơn nhiều so với SQL DBs?

  5. Cập nhật đối tượng mảng dựa trên id?