MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

споделяне на db връзка в цялото приложение в mongoose

Опция 1:Използвайте споделен обект

Кодът на моя модел изглежда подобно, но вместо многократно да изисквам модулите, аз просто ги изисквам веднъж, когато приложението стартира, и след това присвоявам резултатите на споделен обект. Например, ако използвате експресно приложение, можете просто да направите нещо като app.locals.models.User = require('./models/user'); . След това всичко с достъп до app може да види вашите модели, без да е необходимо изискване.

Опция 2:Осигурете една единствена модификация в експортираната функция

Можете да дефинирате своя потребителски модул така:

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

Когато стартирате приложението си, просто трябва да:require('./models/user')(db) . Последващите изисквания от други модули във вашето приложение могат да премахнат db параметър, като User ще бъде зададен само веднъж.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да експортирате сортирани данни с помощта на mongoexport?

  2. Пролетни данни:Уникално поле в MongoDB документ

  3. mongoDB:намиране по вградена стойност

  4. MongoDB:Нечувствителни към главни и главни букви и акценти

  5. MongoDb се изключва с код 100