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

sdílení db připojení v celé aplikaci v mongoose

Možnost 1:Použijte sdílený objekt

Můj modelový kód vypadá podobně, ale místo opakovaného vyžadování modulů je vyžaduji pouze jednou při spuštění aplikace a poté přiřadím výsledky ke sdílenému objektu. Pokud například používáte expresní aplikaci, můžete jednoduše něco jako app.locals.models.User = require('./models/user'); . Pak cokoli s přístupem k app můžete vidět své modely, aniž byste je potřebovali.

Možnost 2:Zajistěte jedinou úpravu v exportované funkci

Svůj uživatelský modul můžete definovat takto:

var mongoose = require('mongoose');

var userSchema = new mongoose.Schema({name: String});

var User = null;

module.exports = function(db) {
  if (db && User === null) {
    User = db.model('User', userSchema);
  }
  return User;
};

Při spuštění aplikace stačí:require('./models/user')(db) . Následné požadavky jiných modulů ve vaší aplikaci mohou zahodit db parametr, jako User bude nastaveno pouze jednou.




  1. MongoDB uvádí databáze s danou předponou v Go

  2. Mongoose uložte všechny parametry z těla požadavku

  3. Jak se dotazovat na relativní prvek pomocí MongoDB

  4. Rozdělení záznamů v kolekci v MongoDB