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

MongoError:cấu trúc liên kết bị phá hủy khi sử dụng với NextJs api

Có vấn đề bạn đang gặp phải đến từ dòng này:

  await client.close();

Từ tài liệu:

Có nghĩa là khi bạn close ứng dụng khách, bất kỳ kết nối đang mở nào khác cũng đóng lại. Trong trường hợp # 2 và # 4 của bạn bắt đầu chạy ngay sau # 1 và # 3 (nhưng trước khi chúng hoàn tất) và bạn đóng kết nối trên chúng khi chúng vẫn đang chạy.

Cũng từ tài liệu:

Cách tốt nhất là có một số quản lý trạng thái cho các chức năng không trạng thái của bạn (tôi biết), có một dịch vụ kết nối chỉ cung cấp cho các chức năng không trạng thái của bạn kết nối, việc quản lý lỗi theo cách này cũng sẽ dễ dàng hơn.

Đọc thêm về điều này tại đây và trong tài liệu trình điều khiển nodejs

Một giải pháp nhanh chóng (và rất tối ưu) cho vấn đề của bạn sẽ là xác định kết nối trong hàm như sau:

// remove the definition from here

export default async (req, res) => {
     // and move it here
     const client = new MongoClient(process.env.DB_URI, {});
     await client.connect();

      .....

     await client.close();
};



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb - kết nối thông qua ODBC

  2. Ưu điểm của việc sử dụng cơ sở dữ liệu không có lược đồ như MongoDB so với cơ sở dữ liệu quan hệ là gì?

  3. MongoDB nhóm tất cả các khóa và giá trị trong một bộ sưu tập theo một trường nhất định

  4. MongoDB - tài liệu lồng nhau của $ dự án ở cấp độ gốc

  5. Spring Data mongo - vấn đề với bộ sưu tập Khác biệt