mongoose mongodb errno 10042

时间:2015-07-14 23:35:32

标签: mongodb mongoose

请帮助摆脱这个错误:

我可以在开发expressjs应用程序之前连接到我的mongodb而没有任何问题。现在经过几次更新(nodejs,npm,bower ......)后,我开始收到一个错误,我甚至无法在google上找到它的概念。这是错误消息:

14 Jul 19:10:31 - [nodemon] restarting due to change
14 Jul 19:10:31 - [nodemon] starting `node api.js`
  api listening on port: 3000
  connection error: { [MongoError: connect Unknown sys
  name: 'MongoError',
  message: 'connect Unknown system errno 10042' }

这是遇到此错误的代码:

  var express = require('express');
  var app = express();
  var bodyParser = require('body-parser');
  var mongoose = require('mongoose');
  var port = Number(3000);
  var UserSchema = '';
  var User = '';
  app.use(bodyParser.json());
  app.use(function(req, res, next){
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
  res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization')

  next();
  });

    mongoose.connect('mongodb://localhost/pjwt4');
   var db = mongoose.connection;
   db.on('error', console.error.bind(console, 'connection error:'));
   db.once('open', function (callback) {
    UserSchema = mongoose.Schema({
    email: String,
    password: String
    });
    User = mongoose.model('User', UserSchema);
   });

   app.post('/register', function(req, res){
    var user = req.body;
        var newUser = new User({
      email: user.email,
       password: user.password
    });
    newUser.save(function(err){
      res.status(200).json(newUser);
    });
    });

   app.listen(port, function(){
     console.log('api listening on port: ' + port);
    });

修改 我仍然没有答案,但我很确定这是因为模块版本的更新,为什么?因为我有完全相同的项目,但有一个不同的Package.json,当我做" npm insatll"然后运行那个,我收到猫鼬的警告,说"这是一个不稳定版的Mongoose"但它运行,我没有得到错误信息!它连接到我的mongodb,而最新版本给出了这个错误。很乐意帮助您理解它。

1 个答案:

答案 0 :(得分:0)

我有一个解决方案: 在我的Package.json我有: “猫鼬”:“^ 4.0.7” 当我把它改为: “猫鼬”:“~3.8.8” 它安装和工作正常。

似乎问题是由于某些依赖项未安装而我无法理解原因。如果我尝试安装4.0.0或4.0.8,我会遇到同样的问题。我提供了一些错误堆栈输出(未格式化)只是你可以看到这些错误!标志着那里。我希望这可以帮助那些遇到同样问题的人。对不起,我无法完全弄清楚问题!

...
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (i:\Documents
gs\AA\Desktop\tst\2\node_modules\mongoose\node_modules\bson\node_modul
t\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
node-pre-gyp ERR! stack     at maybeClose (child_process.js:756:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (ch
s.js:823:5)
node-pre-gyp ERR! System Windows_NT 5.1.2600
node-pre-gyp ERR! command "node" "i:\\Documents and Settings\\AA\\Desk
2\\node_modules\\mongoose\\node_modules\\bson\\node_modules\\bson-ext\
les\\node-pre-gyp\\bin\\node-pre-gyp.js" "install" "--fallback-to-buil
node-pre-gyp ERR! cwd i:\Documents and Settings\AA\Desktop\tst\2\node_
ngoose\node_modules\bson\node_modules\bson-ext
node-pre-gyp ERR! node -v v0.10.33
node-pre-gyp ERR! node-pre-gyp -v v0.6.4
node-pre-gyp ERR! not ok
...