【问题标题】:MongoError: server instance in invalid state undefinedMongoError:处于无效状态的服务器实例未定义
【发布时间】:2016-12-24 04:54:54
【问题描述】:

这是一个基于nodejs和express的网站。数据库是Mongodb。
问题是:
当我访问http://xxx/u/username 时,没关系。

但是在我编辑我的页面并重定向到http://xxx/u/username之后,它是错误的。mongodb中的数据发生了变化。

以下是错误信息:

MongoError:处于无效状态的服务器实例未定义 Function.MongoError.create (\node_modules\mongodb\node_modules\mongodb-core\lib\error.js:29:11) 在 Server.connect (\node_modules\mongodb\node_modules\mongodb-core\lib\topologies\server.js:336:22) 在 Server.connect (\node_modules\mongodb\lib\server.js:355:17) 在 在 Db.open 打开 (\node_modules\mongodb\lib\db.js:223:19) (\node_modules\mongodb\lib\db.js:246:44) 在 Function.User.get (\models\user.js:45:11) at \routes\index.js:171:8 at Layer.handle [作为句柄请求] (\node_modules\express\lib\router\layer.js:95:5) 在下一个 (\node_modules\express\lib\router\route.js:131:13) 在 Route.dispatch (\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (\node_modules\express\lib\router\layer.js:95:5) 在 \node_modules\express\lib\router\index.js:277:22 at param (\node_modules\express\lib\router\index.js:349:14) 在参数 (\node_modules\express\lib\router\index.js:365:14) 在 Function.process_params (\node_modules\express\lib\router\index.js:410:3) 在下一个 (\node_modules\express\lib\router\index.js:271:10)

【问题讨论】:

    标签: node.js mongodb express


    【解决方案1】:

    这里正在运行sn-p,我希望这会有所帮助

       var c = console;
    
    
        var app = require('express')();
    
    
        var http = require('http').createServer(app);
    
    
    
    
        var Db = require('mongodb').Db, 
        Server = require('mongodb').Server;
        var db = new Db('stock',new Server('localhost',27017));
    
    
    
        var io = require('socket.io')(http,{path:'/infocenter/sockets'});
    
    
    
        /****socket.io connection*****/
        io.on('connection',function(socket){
    
        console.log("Connected");
    
        /****registration details***/
        socket.on('regdetails',function(data){
    
    
        db.open(function(err,mdb){
    
         if(err){
    
            c.log(err);
    
         }  
    
        c.log("Mongo Registration Worked");
    
         /***insert user if not exists***/
         mdb.collection('users').find({name:data.fname}).toArray(function(err,results){
    
          c.log(results.length);    
          if(results.length ==  0)
          {
            mdb.collection('users').insert({name:data.fname,pass:data.upass});
            socket.emit('regmessage',{'message':'success','status':1}); 
            mdb.close();
          }
          else{
           socket.emit('regmessage',{'message':'user existed'}); 
           mdb.close();
          }
    
        });
        /***end insert user if not exists***/
    
        });
    
    
        });
    
        /****end registration details***/
    
    
    
    
        /***login details***/
    
        socket.on('logindetails',function(data){
    
    
    
        db.open(function(err,mdb){
    
         if(err){
    
            c.log(err);
    
         }  
    
        c.log("Login Mongo Worked");
    
    
        /***check if login is correct***/
    
        mdb.collection('users').find({name:data.fname,pass:data.upass}).toArray(function(err,results){
    
    
          if(results.length ==  1)
          {
            socket.emit('logmessage',{'message':'login accepted','status':1});
            mdb.close();
    
          }
          else{
             socket.emit('logmessage',{'message':'login is invalid','status':0});
             mdb.close();   
          } 
    
        });
    
        /***end check if login is correct***/
    
    
        });
    
    
        });
    
        /***end login details***/
    
    
    
    
    
    
        });
    
    
        /*****end socket.io connection *****/
    
    
    
        var port = 7000;
    
    
        http.listen(port,function(){
    
         console.log("Registration socket running on port:"+port);  
    
        });
    

    【讨论】:

      猜你喜欢
      • 2017-03-11
      • 1970-01-01
      • 2020-09-29
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 2018-11-13
      • 1970-01-01
      相关资源
      最近更新 更多