бросить эр; // Необработанное событие 'error' ^ TypeError: Невозможно прочитать свойство 'title' из null - PullRequest
0 голосов
/ 01 мая 2020

[nodemon] начиная с node app.js (узел: 11472) DeprecationWarning: open() устарела в пн goose> = 4.11.0, используйте openUri() вместо этого или установите параметр useMongoClient, если используете connect() или createConnection(). См. http://mongoosejs.com/docs/4.x/docs/connections.html#use -mon go -client (узел: 11472) DeprecationWarning: Mon goose: mpromise (библиотека обещаний по умолчанию mon goose) устарела, подключите свою собственную библиотеку обещаний вместо этого: http://mongoosejs.com/docs/promises.html Сервер запущен через порт 3000, подключенный к событиям MongoDB. js: 287 throw er; // Необработанное событие 'error' ^

TypeError: Невозможно прочитать свойство 'title' из null в C: \ Users \ пользователь \ desktop \ current \ Nodejs -Course-file-master \ cmscart \ маршруты \ страницы. js: 17: 25 в модели. Запрос. (C: \ Users \ пользователь \ рабочий стол \ текущий \ 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 \ пользователь \ desktop \ current \ Nodejs -Course -file-master \ cmscart \ node_modules \ kareem \ index. js: 131: 16 at processTicksAndRejected (внутренняя / process / task_queues. js: 79: 11) Произошло событие «ошибка» в экземпляре функции at: at модели. Запрос. (C: \ Users \ пользователь \ рабочий стол \ текущий \ Nodejs -Course-file-master \ cmscart \ node_modules \ mongoose \ lib \ model. js: 4095: 13) в C: \ Users \ user \ desktop \ current \ Nodejs -Course-file-master \ cmscart \ node_modules \ kareem \ index. js: 273: 21 в C: \ Users \ пользователь \ desktop \ current \ Nodejs -Course -file-master \ cmscart \ node_modules \ kareem \ index. js: 131: 16 в processTicksAndRejected (внутренний / process / task_queues. js: 79: 11)

код указан ниже:

var express = require('express');
var router = express.Router();

// Get Page model
var Page = require('../models/page');

/*
 * GET /
 */
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 a page
 */


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;

1 Ответ

0 голосов
/ 01 мая 2020

Получаете ли вы эту ошибку с маршрутом '/'?
Если это так, кажется, что ваш запрос mon go не может найти подходящий документ.
Визуализировать нужно только при наличии найдена страница:

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
        });
    });

});
...