[nodemon]开始 node app.js
(node:11472) DeprecationWarning:
open()
在mongoose >= 4.11.0中已不适用,请使用openUri()
代替,或设置useMongoClient
选项,如果使用connect()
或createConnection()
. 见 http:/mongoosejs.comdocs4.xdocsconnections.html#use-mongo-client。 (node:11472)DeprecationWarning.Mongoose: mpromise (mongoose默认的承诺库)已被废弃,请插入你自己的承诺库来代替。Mongoose: mpromise (mongoose的默认承诺库)已被废弃,请插入你自己的承诺库。http:/mongoosejs.comdocspromises.html)。 服务器在3000端口启动 连接到MongoDB events.js:287 throw er; / 未处理的'错误'事件 ^。TypeError.无法读取C:/Users/user/desktop/current/Nodejs-Coursefile-master/cmscart/routes/pages.js::null的属性'title'。不能读取C:Users/user/desktop/current/Nodejs-Course-file-master/cmscart/routes/pages.js:17:25处的null属性 "title"。(C:Users/user/desktop/current/Nodejs-Course-file-master/cmscart/node_modules/mongoose/lib/model.js:4093:16) at C:Users/user/desktop/current/Nodejs-Course-file-master/cmscart/node_modules/kareem/index. js:273:21 at C:\Users/user/desktop/current/Nodejs-Course-file-master/cmscart/node_modules/kareem\index.js:131:16 at processTicksAndRejections (internalprocesstask_queues.js:79:11) 在Function实例上发出'错误'事件 at: at model.Query. (C:\Users/user/desktop/current/Nodejs-Course-file-master/cmscart/nodeode_modules/mongoose/lib\model.js:4095:13) 在C:\Users/user/desktop/current/Nodejs-Course-file-master/cmscart/node_modules/kareem/index. js:273:21 at C:Users/user/desktop/current/Nodejs-Course-file-master/cmscart/node_modules/kareem\index.js:131:16 at processTicksAndRejections (internalprocesstask_queues.js:79:11)
代码如下所述。
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
});
});
});