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

Cách ngăn nhiều tài liệu được thêm vào cơ sở dữ liệu mongodb

Vấn đề nằm ở đâu đó trong khả năng tương thích của mongoose với throng.

Nó kích hoạt sự kiện "kết nối" mới cho mỗi "luồng" và bạn xóa tài liệu khi kết nối https://gist.github.com/wootwoot1234/49cb7d082850d93f8cd03da164644cfb#file-index-js-L100 :

db.once('open', async function() {
  await Message.deleteOne(messageQuery); // <=== remove it from here to fix the problem
  throng({
    worker: start,
    count: 50,
    lifetime: Infinity
  });
});

Đó phải là do cách cô lập các biến toàn cục giữa các luồng, cụ thể là nhóm kết nối. Theo mặc định, nhóm kết nối mongoose là 5, có nghĩa là không có nhiều hơn 5 kết nối đến cơ sở dữ liệu cùng một lúc. Trình điều khiển giữ chúng mở và sử dụng lại để tiết kiệm chi phí kết nối.

Nếu bạn kiểm tra theo dõi kết nối Atlas, bạn sẽ thấy thêm 100 kết nối khi chạy tập lệnh này.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lấy dữ liệu từ mongodb bằng trình điều khiển C #

  2. MongoDB không cho phép sử dụng '.' trong chìa khóa

  3. mongodb đang truy cập các tài liệu phụ

  4. SQL COALESCE () Giải thích

  5. Mongoose save () không cập nhật giá trị trong một mảng trong tài liệu cơ sở dữ liệu