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

MongoError:topologi dihancurkan saat digunakan dengan api NextJs

Ada masalah yang Anda alami berasal dari baris ini:

  await client.close();

Dari dokumen:

Artinya ketika Anda close klien, koneksi terbuka lainnya juga akan ditutup. Dalam kasus Anda #2 dan #4 mulai berjalan segera setelah #1 dan #3 (tetapi sebelum selesai), dan Anda menutup koneksi saat mereka masih berjalan.

Juga dari dokumen:

Ini akan menjadi praktik terbaik untuk memiliki beberapa manajemen status untuk fungsi stateless Anda (saya tahu), memiliki layanan koneksi yang hanya memberikan fungsi stateless Anda koneksi, juga akan lebih mudah untuk mengelola kesalahan dengan cara ini.

Baca lebih lanjut tentang ini di sini dan di dokumen driver nodejs

Solusi cepat (dan sangat suboptimal) untuk masalah Anda adalah dengan mendefinisikan koneksi dalam fungsi seperti ini:

// 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. Bagaimana cara menerapkan kunci asing di database NoSql (MongoDB)?

  2. NodeJS, Mongoose:Cara mendapatkan data terkait menggunakan luwak

  3. Konversikan kondisi pembuat kueri ke operasi MongoDB termasuk larik subdokumen bersarang

  4. Zip array dengan MongoDB

  5. Kasus untuk Indeks Hash MongoDB