我有一个连接到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')
});
问题是这不起作用。应用程序的其余部分只是抱怨第一次尝试的身份验证失败。有更好的解决方案吗?或者我只是个白痴?
答案 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}
};
}