我用的数据库是Mongodb,然后连接的模块是是mongodb. package.json 里面配置的是,"mongodb":"*" 我在根目录下建立了一个conDB.js的文件是想用来连接到mongodb数据库,具体代码如下: var mongodb = require('mongodb'); var server = new mongodb.Server('localhost',27017,{auto_reconnect:true}); module.exports = server;
然后再一个user.js的文件: var server = require('../conDB'); var mongodb = require('mongodb'); var db = new mongodb.Db('user',server,{safe:true});
exports.login=function (req,res,next)
{
db.open(function(err,db){
if(!err)
{
db.collection('user', function(err, collection){
collection.count({"username":req.body.username,"pwd":req.body.pwd},function(err,count){
if(count==1){
res.json("ok");
}
else{
res.json("err");
}
})
});
}else{
res.json("err");
}
});
};
当我第一次登陆以后一切正常,如果这个时候我改url ,到登陆页面的时候,我再一次输入账号密码来登陆系统,这个时候问题就出来了,提示错误信息是:Error: db object already connecting, open cannot be called multiple times 这个意思大概是说我已经有打开的链接了吧。我现在的问题是 第一:如果按我这个思路来做,应该怎么来处理这样的问题?我自己在conDB.js里面用过server.connected这个来查看链接状态 结果永远都是false. 第二:如果我的思路是错的,哪有没有其他正确的方法