javascript - 使用 Pug 打印数据库 Mongoose 中的所有项目
问题描述
更新
我想打印我创建的数据库 reizen(在 Mongoose 中)中的所有项目。它从不打印它总是打印的项目立即打印'Geen reizen'。我已经找了很长时间了,我不知道如何解决它。我的代码是:
var router = express.Router();
const mongoose = require('mongoose');
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(err, 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
a Titel: #{val.titel}
else
li Geen reizen.
我正在使用each val in reizen ? reizen: []
,否则我会收到错误“无法从未定义中获取属性长度”。
有人可以告诉我有什么问题吗?
解决方案
您的方法签名错误,您正在使用:
reizen.find({}, function(reizen) {
res.render('reizen', {reizen: reizen});
});
但是回调有签名 function(err, reizen)
。
因此,您尝试err
在模板中打印未定义的错误 ( )。
更新:
下一个测试是从等式中排除 db。更新代码并再次运行。
const data = [
{ titel: "A" },
{ titel: "B" },
]
res.render('reizen', {reizen: data});
推荐阅读
- vscode-extensions - vscode 扩展补全:如何替换原文?
- amazon-web-services - AWS 免费套餐使用限制和删除 EC2 实例
- python - 从文件中读取str包含十六进制字节str字符并解码?
- django - URL 在 localhost 上工作但不在生产环境中
- sql-server - 如何在 GitHub Actions 中连接到 Docker SQL Server
- text-to-speech - 创建文本到语音变体的最佳方法
- c++ - C++协程泄漏内存和帧
- reactjs - 反应路由器渲染组件两次
- github-pages - 如何使用 Cloudflare Worker 优化静态网站的 TTFB?
- c# - 如何将用户在文本框中输入的文本从视图传递到 asp.net 应用程序中的控制器。我在 razor 或 cshtml 中的视图