sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan forhindrer du flere dokumenter i at blive tilføjet til mongodb-databasen

Problemet ligger et sted i mongoose-kompatibilitet med skare.

Den udløser en ny "connect"-begivenhed for hver "tråd", og du sletter dokumentet på connect 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
  });
});

Det må være på grund af den måde, hvorpå throng isolerer globale variabler mellem tråde, især forbindelsespool. Som standard er mongoose-forbindelsespuljen 5, hvilket betyder, at der ikke er mere end 5 forbindelser til databasen ad gangen. Driveren holder dem åbne og genbruges for at spare på forbindelsesomkostningerne.

Hvis du markerer Atlas-forbindelsesovervågning, vil du se nogle ekstra 100 forbindelser, når du kører dette script.




  1. Hvordan håndterer spring-data-mongodb konstruktører, når de rehydrerer objekter?

  2. Forskellen mellem nu og en given dato

  3. Sammenkædningsfejl ved opbygning af c++-projekt ved hjælp af mongo-cxx-driver

  4. hvordan indekserer man et brugernavn i mongo uden store og små bogstaver?