MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zapobiec dodawaniu wielu dokumentów do bazy danych mongodb

Problem leży gdzieś w kompatybilności mangusty z tłumem.

Odpala nowe zdarzenie „connect” dla każdego „wątku” i usuwasz dokument po połączeniu 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
  });
});

Musi tak być ze względu na sposób, w jaki thong izoluje zmienne globalne między wątkami, w szczególności pulą połączeń. Domyślnie pula połączeń mongoose wynosi 5, co oznacza, że ​​jednocześnie nie ma więcej niż 5 połączeń z bazą danych. Kierowca utrzymuje je otwarte i ponownie wykorzystuje, aby zaoszczędzić na kosztach połączenia.

Jeśli sprawdzisz monitorowanie połączeń Atlas, zobaczysz dodatkowe 100 połączeń po uruchomieniu tego skryptu.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mongodb tworzy bazę danych/kolekcje w locie?

  2. Współpraca MongoDB lazy loading z Jacksonem @JsonIgnore w SpringBoot Rest Controller

  3. $ Composer nie może znaleźć rozszerzenia mongodb, wymagane rozszerzenie mongodb

  4. Niewłaściwa odległość w metodzie geonear z Doctrine MongoDB ODM

  5. Jak dołączyć wyniki agregacji Mongo DB do istniejącej kolekcji?