【问题标题】:TypeError: Cannot read property 'get' of undefined (nodejs)TypeError:无法读取未定义的属性“get”(nodejs)
【发布时间】:2017-08-30 02:06:06
【问题描述】:

我正在关注 udemy 的一个项目,我遇到了 TypeError: Cannot read property 'db' of undefined

var express = require('express');
var router = express.Router();  
var mongo = require('mongodb');  
var monk = require('monk');  
var db = monk('localhost:27017/nodeblog');

/* GET home page. */  
router.get('/', function(req, res, next) {  
var deb = req.db;  
var posts = deb.get('posts');  
posts.find({},{},function(err, posts){    
 res.render('index',{  
    "posts": posts  
});  
});  
});  

module.exports = router;

【问题讨论】:

  • 我的意思是...显然req.locals 是未定义的,因此没有db 属性。
  • 补充上述内容:您正在重新使用db var: 一次作为monk(...) 的返回值,并再次在您的请求处理程序中作为req.locals.db 的返回值.
  • 用 db.get 编辑

标签: node.js mongodb express


【解决方案1】:

我认为这可能是您的快递版本。转到您的 json 文件,删除 express 和 npm install express --save 。当前版本是“express”:“^4.15.2”,如果您使用的是 3.something 可能是它。

【讨论】:

    【解决方案2】:

    这个错误是因为旧版本的express。打开 package.json 用 "express": "^4.15.3" 替换旧的 express 版本,然后运行 ​​npm install 这将安装所需的包。然后运行 ​​npm start 启动应用程序。

    【讨论】:

      猜你喜欢
      • 2017-03-06
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 2022-09-23
      • 2022-11-29
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多