使用Pug打印来自数据库Mongoose的所有项目

问题描述 投票:0回答:1

我想从我创建的数据库reizen(在Mongoose中)打印所有项目。它从不打印总是打印的项目,而立即打印“ Geen reizen”。我一直在寻找很长一段时间,但我不知道如何解决。我的代码是:

var router = express.Router();
const mongoose = require('mongoose');
var db=mongoose.connection; 
const { body, validationResult } = require('express-validator/check');

/* GET reizen*/
router.get('/', function(req, res, next) {
  if (req.cookies.username != '') {
    res.render('reizen', { sisu : req.cookies.username });
  }
  else {
    res.render('reizen', { sisu : 'SIGN IN/SIGN UP'});
  }
});

router.get('/getreizen', function(req, res, next) {
  reizen.find({}, function(reizen) {
    res.render('reizen', {reizen: reizen});
  });
}); 

我仍在关于Cookie的第一部分中工作,因此您可以忽略该部分。

我在哈巴狗中的代码是:

extends layout

block content
    #reizen.w3-content.w3-container.w3-padding-64
        h3.w3-center REIZEN
        a.w3-bar-item.border-button(href='/reistoevoegen') 
            |   VOEG REIS TOE
        p
            |
            |
        p
            each val in reizen ? reizen: []
                a Titel: #{val.titel}
            else
                li Geen reizen.

我正在使用each val in reizen ? reizen: [],因为否则会出现错误'无法从未定义获取属性长度'。

有人可以告诉我怎么了吗?

javascript node.js database mongoose pug
1个回答
0
投票

您的方法签名错误,您正在使用:

reizen.find({}, function(reizen) {
    res.render('reizen', {reizen: reizen});
  });

但是该回调具有签名function(err, reizen)

因此,您尝试在未定义的模板中打印错误。

© www.soinside.com 2019 - 2024. All rights reserved.