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

Transaksi 1 telah dilakukan di MongoDB

Saya dapat menyelesaikan masalah ini.

Masalah bukan dengan kode di bawah ini

  await session.commitTransaction(); (success)
  session.endSession();              (failure)
} catch (error) {                    (entered)
  await session.abortTransaction();  (invoked)

tapi itu dengan record.forEach loop.

records.forEach(async (el: any) => {...});

di dalam foreach saat melempar kesalahan, itu tidak ditangkap oleh blok try catch terluar karena konten di dalam loop berada dalam konteks fungsional yang berbeda dari kode di luar loop.

Setelah saya mengubah loop dari .forEach untuk

for (const el of records) {}

itu berfungsi seperti yang diharapkan. Memposting jawaban jika seseorang menghadapi hal yang sama di masa depan. Terima kasih atas dukungannya teman-teman :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Indeks unik pada properti elemen array

  2. MongoDB:Periksa apakah nilainya nol atau array kosong

  3. Ubah tanggal String ke tanggal ISO di MongoDB?

  4. Dua node replika MongoDB ditetapkan tanpa arbiter

  5. Cara mencapai koneksi hanya baca menggunakan pymongo