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

udostępnianie połączenia db w całej aplikacji w manguście

Opcja 1:Użyj udostępnionego obiektu

Mój kod modelu wygląda podobnie, ale zamiast wielokrotnie wymagać modułów, potrzebuję ich tylko raz, gdy aplikacja się uruchamia, a następnie przypisuję wyniki do współdzielonego obiektu. Na przykład, jeśli używasz ekspresowej aplikacji, możesz po prostu coś takiego jak app.locals.models.User = require('./models/user'); . Następnie wszystko, co ma dostęp do app może zobaczyć Twoje modele bez konieczności.

Opcja 2:Zapewnij pojedynczą modyfikację w eksportowanej funkcji

Możesz zdefiniować swój moduł użytkownika w następujący sposób:

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;
};

Po uruchomieniu aplikacji wystarczy:require('./models/user')(db) . Kolejne wymagania innych modułów w Twojej aplikacji mogą porzucić db parametr, jako User zostanie ustawiony tylko raz.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. wiele instancji Mongo DB na tym samym serwerze

  2. Mongodb unika zduplikowanych wpisów

  3. jak uwierzytelnić połączenie mongoose mongodb w node.js

  4. Wdrażanie aplikacji node js, która używa mongo db na aws

  5. Instalowanie wtyczek dla mangusty - pojawia się błąd