Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 猫鼬错误“;无法读取属性';ObjectID';“未定义”的定义;_Javascript_Mongodb_Node.js_Express_Mongoose - Fatal编程技术网

Javascript 猫鼬错误“;无法读取属性';ObjectID';“未定义”的定义;

Javascript 猫鼬错误“;无法读取属性';ObjectID';“未定义”的定义;,javascript,mongodb,node.js,express,mongoose,Javascript,Mongodb,Node.js,Express,Mongoose,node.js和mongodb的n00b位。当我试图用mongodb和mongoose建立一个项目时,在需要mongoose模块之后,我不断地得到一个错误。不确定发生了什么,希望有一个更好的节点调试器 我启动mongod并用node启动app.js。然后我得到了这个错误 /home/archie/Development/working/nodepad/node_modules/mongoose/node_modules/mongodb/lib/mongodb/bson/bson.js:422

node.js和mongodb的n00b位。当我试图用mongodb和mongoose建立一个项目时,在需要mongoose模块之后,我不断地得到一个错误。不确定发生了什么,希望有一个更好的节点调试器

我启动mongod并用node启动app.js。然后我得到了这个错误

/home/archie/Development/working/nodepad/node_modules/mongoose/node_modules/mongodb/lib/mongodb/bson/bson.js:422
 "    var options_array = [];
node.js:134
    throw e; // process.nextTick error, or 'error' event on first tick
    ^
TypeError: Cannot read property 'ObjectID' of undefined
at Object.<anonymous> (/home/archie/Development/working/nodepad/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:6:43)
at Module._compile (module.js:411:26)
at Object..js (module.js:417:10)
at Module.load (module.js:343:31)
at Function._load (module.js:302:12)
at require (module.js:355:19)
at Object.<anonymous> (/home/archie/Development/working/nodepad/node_modules/mongoose/lib/types/objectid.js:12:18)
at Module._compile (module.js:411:26)
at Object..js (module.js:417:10)
at Module.load (module.js:343:31)

任何帮助都会很好,谢谢

看起来安装有问题。您是否通过NPM安装mongoose?什么版本的节点?我安装了NPM。我卸载了mongoose@2.3.6并重新安装到mongoose@2.3.8,这似乎很管用!谢谢@archieoi,我们能考虑解决吗?是的,我想mongoose@2.3.6这就是问题所在。最起码,重新安装修复了它。一些事情我注意到前一段时间与NPM。如果删除较旧版本的软件包,则If还会删除较新安装的软件包的文件。这可能发生在你身上。。。
var express = require('express');
var app = module.exports = express.createServer();
var mongoose = require('mongoose') ;
   // Configuration
app.configure(function(){
 app.set('views', __dirname + '/views');
 app.set('view engine', 'jade');
 app.use(express.bodyParser());
 app.use(express.methodOverride());
 app.use(app.router);
 app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
  app.use(express.logger());
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
});

app.get('/', function(req, res){
 res.render('index', {
  title: 'Express'
 });
});

app.listen(3000);
console.log("Express server listening on port %d in %s mode", app.address().port,
app.settings.env);