db object already connecting, open cannot be called multiple times
发布于 7个月前 作者 adminparry 359 次浏览

新学mongodb 出现这个问题 看了网上的文章 但是有没有解决这个问题的好方法 求大神指导

5 回复

忘记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了

回到顶部