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

Menyimpan Ke MongoDB Dalam Sebuah Loop

Itu karena save sebenarnya adalah operasi I/O yang Async. Sekarang, for loop sebenarnya disinkronkan. Pikirkan seperti ini:mesin JS Anda secara serial mengeksekusi setiap baris yang dilihatnya. Asumsikan baris-baris ini disimpan satu demi satu di tumpukan. Ketika datang ke save , itu menyimpannya di tumpukan yang berbeda (karena ini adalah operasi I/O, dan dengan demikian akan memakan waktu) dan melanjutkan dengan sisa loop. Ternyata mesin hanya akan memeriksa tumpukan baru ini setelah menyelesaikan setiap baris pada tumpukan yang lebih lama. Oleh karena itu, nilai variabel cats akan menjadi item terakhir dalam array. Jadi, hanya nilai terakhir yang disimpan.

Untuk melawan tragedi ini, Anda dapat menggunakan beberapa metode:

  1. Penutupan - Baca Selengkapnya
  2. Janji - Baca Selengkapnya . Ada perpustakaan manis yang menjanjikan driver mongo untuk membuatnya lebih mudah digunakan.
  3. Generator, dll. - Baca Selengkapnya . Belum siap untuk primetime.

Catatan tentang #2 - Saya bukan kontributor proyek, tetapi bekerja dengan penulis. Saya telah menggunakan perpustakaan selama lebih dari satu tahun sekarang, dan ini cepat dan mengagumkan!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - dapatkan dokumen dengan atribut maksimal per grup dalam koleksi

  2. Tidak Dapat Menghubungkan Mongodb ke Springboot Container di buruh pelabuhan

  3. Nilai default tidak disetel saat menggunakan Perbarui dengan Upsert sebagai benar

  4. Urutkan hasil kueri berdasarkan nilai desc subdokumen bersarang dalam array Mongoose/Mongodb

  5. Mengejek model luwak dengan lelucon