sql >> Databáze >  >> NoSQL >> MongoDB

Transakce 1 byla provedena v MongoDB

Problém se mi podařilo vyřešit.

Problém nebyl s níže uvedeným kódem

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

ale bylo to u záznamů.pro každou smyčku.

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

uvnitř foreach při vyvolání chyby není zachycena nejvzdálenějším blokem try catch, protože obsah uvnitř smyčky je v jiném funkčním kontextu než kód mimo smyčku.

Jednou jsem změnil smyčku z .forEach do

for (const el of records) {}

funguje podle očekávání. Zveřejnění odpovědi v případě, že někdo bude v budoucnu čelit stejnému. Díky za podporu kluci :)



  1. TypeError:db.collection není funkce

  2. Instalace a konfigurace Redis na Ubuntu

  3. HDFS Disk Balancer Úvod, operace a funkce

  4. MongoDB vs. Redis vs. Cassandra pro rychlé řešení pro dočasné ukládání řádků