db object already connecting, open cannot be called multiple times
新学mongodb 出现这个问题 看了网上的文章 但是有没有解决这个问题的好方法 求大神指导
5 回复
用mongoose
忘记close了。。。。
连接一次就行了,不要多次连接
求详细,我的代码: db.open(function(err,client){ if(err) { response.write(’{err: 1, msg: “数据库出错”}’); response.end(); } var collection=new mongodb.Collection(client,‘user’);
collection.find({name:get.user}).toArray(function(err,data){
if(data.length>0){
response.write('{err: 1, msg:用户名存在}');
response.end();
console.log(doc);
}else{
collection.insert({name:get.user,pass:get.pass},{safe:true},function(err, data){
if(err){
response.write('{err: 1, msg: "数据库出错"}');
response.end();
}
response.write('{err: 0, msg:注册成功}');
response.end();
});
}
});
});
// Establish connection to db db.open(function(err, db) { if(err) { return callback(err); }
// Authenticate
db.authenticate('<username>', '<pwd>', function(err, result) {
if(result) {
// Fetch a collection
db.collection('<collection>', function(err, collection) {
if(err) {
// Close db connection
db.close();
return callback(err);
}
collection.insert(entity, {safe: true}, function(err, result) {
// Close db connection
db.close();
callback(err, result);
});
});
} else {
// Close db connection
db.close();
callback(utils.error('Auth Error'));
}
});
}); 给你看看我以前写过的吧,你应该是之前在打开数据库连接的时候,之后忘记close了