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

Giao dịch 1 đã được cam kết trong MongoDB

Tôi đã có thể giải quyết vấn đề.

Không có vấn đề với mã dưới đây

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

nhưng đó là với vòng lặp record.forEach.

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

bên trong foreach khi gặp lỗi, nó không bị khối try catch ngoài cùng bắt vì nội dung bên trong vòng lặp nằm trong ngữ cảnh chức năng khác với mã bên ngoài vòng lặp.

Sau khi tôi thay đổi vòng lặp từ .forEach đến

for (const el of records) {}

nó hoạt động như mong đợi. Đăng câu trả lời trong trường hợp nếu ai đó phải đối mặt với điều tương tự trong tương lai. Cảm ơn các bạn đã ủng hộ :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để khắc phục sự cố mở rộng quy mô với serverless và MongoDB?

  2. Mongoose cập nhật tài liệu phụ nếu tồn tại

  3. Mongodb:Sử dụng số lượng bản ghi trong tổng hợp sau một nhóm

  4. Mongo db - Truy vấn mảng và đối tượng lồng nhau

  5. Làm cách nào để chỉ tìm nạp các id mongo đã chọn bằng phương pháp mongorepository dữ liệu mùa xuân?