sql >> Databáze >  >> NoSQL >> MongoDB

Jaký je správný způsob, jak zacházet s mongoose spojeními s express.js?

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 .




  1. Node.js – Mongoose – Zkontrolujte, zda existuje kolekce

  2. Jak změním heslo uživatele MongoDB?

  3. Proč se datum ISO v Mongodb zobrazuje o jeden den dříve?

  4. Jak zapsat prázdné asociativní pole ({}) do MongoDB z PHP