2015-10-01 3 views
4

Я новичок в Node и Mongo, я пытался подключиться к базе данных mongo в одном файле и экспортировать обработчик базы данных во многие другие файлы, так что мне не нужно подключаться к базе данных во всех файлах, которые нуждаются в подключении к Это. Вот как я пытался сделать этоКак я могу экспортировать обработчик базы данных mongo в Node.js?

// db.js 
var client = require('mongodb').MongoClient 
var assert = require('assert') 
var url = 'mongodb://localhost:27017/test' 

client.connect(url, (err, db) => { 
    assert.equal(err, null) 
    module.exports = db 
}) 

После экспорта обработчик дб, я попытался получить доступ к его методы в другом файле следующим образом

var db = require('./db') 
console.log(db.collection('col')) 

но бросает TypeError, говоря, что db.collection является не является функцией. Как я могу получить доступ к методам обработчика db в других файлах?

ответ

0

Вероятно, лучше всего просто экспортировать функцию init() с обратным вызовом, а затем вызвать это, прежде чем использовать другие методы db. В противном случае вы можете попытаться проверить, что его инициализировано в верхней части каждого метода доступа к db, но это, вероятно, не является фактически более удобным для обслуживания решением, поскольку это усложняет его.