0
큰 프로젝트에서 Mongodb 기본 드라이버를 구성하는 방법은 무엇입니까?Node.js Mongodb 기본 드라이브 조직
현재이 코드는 기본적으로 모듈의 객체 인 모든 "모델"에서이 코드를 사용합니다.
users.js
var mongo = require('mongodb');
var Users = {};
Users.db = new mongo.Db(...);
Users.db.open = function(e, c){
if(e){ throw new Error(e); } else {
console.log('connection opened'); }
};
Users.c = Users.db.collection('users');
Users.login = function(username, rawPassword, callback){
Users.c.findOne({ username: username }, function(e, o){
if(o.password === encrypt(rawPassword)){ callback(o); }
else { callback(null); }
});
};
그러나 이것은 각각의 분리 된 모델의 데이터베이스 연결을 열 수있는 가장 좋은 방법은 무엇인가요? 모델 간의 올바른 연결 공유 방법 이것은 좋은 해결책이 될 것입니다 :
데이터베이스 connections.js
var mongo = require('mongodb');
var RedisClient = require('redis-client');
module.exports = {
main: new mongo.Db(...),
log: new mongo.Db(...),
cache: new RedisClient(...)
};
그래서 우리는 데이터베이스 연결을 사용할 때마다 우리는 대신 사용할 수 있습니다 :
users.js을
var mainDb = require('database-connections.js').main;
var logDb = require('database-connections.js').log;
var cacheDb = require('database-connections.js').cache;
mainDb.open(function(e, c)){
if(e){ throw new Error(e); } else {
mainDb.collection('users', function(e, c){
// do work.
});
}
});