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

Lỗi Mongoose - không có phương thức 'toObject' sau khi nâng cấp

Ở đâu đó giữa phiên bản cuối 3.8.x và 4.0, bài đăng init hook đã được thay đổi, nhưng không được ghi lại. Trước khi thay đổi this đã tham chiếu đến tài liệu hiện tại, nhưng bây giờ là this là trình phát sự kiện đã kích hoạt cuộc gọi hook. Cách mới để truy cập tài liệu hiện tại là thêm một tham số vào hàm hook, giống như save trước và remove móc.

schema.post('init', function(doc) {
    doc._original = doc.toObject();
});

Thật không may, kể từ thay đổi này, bất kỳ thuộc tính không phải giản đồ nào được thêm vào tài liệu dường như bị mất giữa init post và trước save móc, vì vậy không có cách nào để sửa lỗi này ngay bây giờ.

Tôi đã gặp sự cố ( # 2952 ) trên Github vào thứ Sáu tuần trước. Hiện có 387 sự cố đang mở, vì vậy tôi không chắc vấn đề này sẽ được giải quyết nhanh chóng như thế nào. Tôi sẽ đăng thông tin cập nhật nếu tôi nghe thấy bất cứ điều gì.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cơ sở dữ liệu mongodb với Java play 2.0

  2. Cách định dạng dữ liệu trong Model trước khi lưu trong Mongoose (ExpressJS)

  3. Hậu quả của việc sử dụng $ unwind trên các mảng lồng nhau?

  4. MongoDB $ ltrim

  5. xác thực mongodb với chuỗi kết nối