Pokud jste se již připojili k databázi, once
událost se znovu nespustí. Databáze již byla připojena pro celý proces NodeJs, když byla globálně připojena (mimo funkci).
Volání mongoose.connect('mongodb://localhost/test');
vytvoří spojení a otevře jej.
Takže místo otevření při každém volání funkce (což by byl neefektivní způsob interakce s MongoDB) connect
ihned po spuštění aplikace NodeJs a počítejte s tím, že nastane období, kdy připojení nemusí být dostupné (protože je asynchronní), nebo aplikaci nespouštějte (listen
), dokud nebude připojení dokončeno (nebo s časovým limitem). S Mongoose jsou všechny příkazy ukládány do vyrovnávací paměti, dokud není navázáno připojení (ale to nemusí být chování, které chcete). Můžete použít open
událost, pokud chcete vědět, kdy je připojení dokončeno.
Spojení naleznete zde:mongoose.connection
pokud použijete connect
funkce pro vytvoření připojení.
Jakmile je připojení otevřeno, můžete jej používat ze svého popSingleData
funkce bez použití once
událost a zpětné volání. Automaticky je udržován fond připojení.
Další informace o připojeních naleznete zde .