javascript - 投掷者;// 未处理的 'error' 事件 ^ TypeError: Cannot read property 'title' of null
问题描述
[nodemon] 开始node app.js
(节点:11472)DeprecationWarning:
open()
在 mongoose >= 4.11.0 中已弃用,请改用,或者如果使用或openUri()
设置useMongoClient
选项。请参阅 http://mongoosejs.com/docs/4.x/docs/connections.html#use-mongo-client (node:11472) DeprecationWarning: Mongoose: mpromise (mongoose 的默认承诺库) 已被弃用,插入你自己的承诺库代替:http ://mongoosejs.com/docs/promises.html 服务器在端口 3000 上启动连接到 MongoDB events.js:287 throw er; // 未处理的“错误”事件 ^connect()
createConnection()
TypeError:无法在 C:\Users\user\desktop\current\Nodejs-Course-file-master\cmscart\routes\pages.js:17:25 在 model.Query 读取属性“标题”。(C:\Users\user\desktop\current\Nodejs-Course-file-master\cmscart\node_modules\mongoose\lib\model.js:4093:16) 在 C:\Users\user\desktop\current\Nodejs- Course-file-master\cmscart\node_modules\kareem\index.js:273:21 在 C:\Users\user\desktop\current\Nodejs-Course-file-master\cmscart\node_modules\kareem\index.js:131 :16 在 processTicksAndRejections (internal/process/task_queues.js:79:11) 在函数实例上发出“错误”事件:在 model.Query。(C:\Users\user\desktop\current\Nodejs-Course-file-master\cmscart\node_modules\mongoose\lib\model.js:4095:13) 在 C:
代码如下:
var express = require('express');
var router = express.Router();
// Get Page model
var Page = require('../models/page');
//GET request
router.get('/', function(req, res) {
Page.findOne({
slug: 'home'
}, function(err, page) {
if (err)
console.log(err);
res.render('index', {
title: page.title,
content: page.content
});
});
});
//GET request
router.get('/:slug', function(req, res) {
var slug = req.params.slug;
Page.findOne({
slug: slug
}, function(err, page) {
if (err)
console.log(err);
if (!page) {
res.redirect('/');
} else {
res.render('index', {
title: page.title,
content: page.content
});
}
});
});
// Exports
module.exports = router;
解决方案
'/' 路由是否出现该错误?
如果是这样,您的 mongo 查询似乎找不到任何合适的文档。
仅当找到页面时才需要呈现:
router.get('/', function (req, res) {
Page.findOne({slug: 'home'}, function (err, page) {
if (err)
return console.log(err);
if (!page)
return console.log("No page found"); // DO WHAT YOU WANT
res.render('index', {
title: page.title,
content: page.content
});
});
});
推荐阅读
- c++ - 模板模板参数
- python - 控制 QTreeView header 中网格线和边框的显示
- javascript - 连接具有相似值的二维数组中的元素
- python - OpenCV RGB2HSV 颜色空间转换给出错误的结果,颜色不相似
- javascript - 如何动画网球从水平表面反弹
- google-api - Google Classroom API 列出没有注册码的课程?
- jwt - 如何使用 Auto-Auth 设置 Vault JWT 身份验证?
- angular - 焦点不是从身体角度可访问性开始
- css - 如何在框中设置动态边距
- sql - ORACLE CONNECT BY LEVEL 产生重复行并产生性能问题