永远不会调用MongoClient connect()回调

时间:2016-05-24 14:11:28

标签: node.js mongodb express routes

无论我尝试什么,都不会调用MongoClient.connect()的回调。尝试了几种替代方案但似乎没有任何东西可以调用回调函数。我正在使用node.js mongodb驱动程序2.1.6和Express路由。以下是目录结构:

/
node_modules/
exampleServers/
    routes/
        mongo.js
        notes.js

下面是mongo.js的代码,它试图从notes.js调用以获取数据库连接

var MongoClient = require('mongodb').MongoClient

var state = {
  db: null,
}

exports.connect = function(url, done) {

  if (state.db) return done()
  console.log("***REACHES UPTO HERE");
  MongoClient.connect(url, function(err, db) {
      console.log("***NEVER REACHES HERE");
    if (err) return done(err)
    state.db = db
    done()
  })
}

exports.get = function() {
    console.log("state.db" + state.db);
  return state.db
}

exports.close = function(done) {
  if (state.db) {
    state.db.close(function(err, result) {
      state.db = null
      state.mode = null
      done(err)
    })
  }
}

0 个答案:

没有答案