Mongodb Monk在连接时重新认证

时间:2017-06-08 21:36:22

标签: node.js mongodb monk

我有一个连接到MongoDB的节点程序。这是一个生产服务器,我们进行适当的身份验证以连接到数据库,但在本地计算机上进行开发时,跟踪身份验证更加繁琐,特别是因为大多数时候我们经常彻底擦除数据库。因此,重置身份验证变得更加繁琐。所以我的解决方案是尝试安全地连接到数据库,然后如果失败则尝试以开发方式连接到数据库。下面是代码:

var db = require('monk')('username:password@localhost/TESTR', {authSource:'admin'});

db.catch(function(err) {
    clog.i("MONGO AUTHENTICATION FAILED, USING NO AUTH CLIENT");
    db = require('monk')('localhost/TESTR')
});

问题是这不起作用。应用程序的其余部分只是抱怨第一次尝试的身份验证失败。有更好的解决方案吗?或者我只是个白痴?

1 个答案:

答案 0 :(得分:0)

var monk               =  require('monk');//layer used to connect mongodb
 var db                 =  monk('*****:27017/TESTR');
   var collection               =  db.get('collection_name');

    //you can access your collection using the mongo query
          //simple controller action
      module.exports = function(req, res){
        collection.find({}, function(err, cb){
           if(err) {res.json("db exception");}
                 else{res.json(cb)//it returns the db collections}
                   };           
       }