node.js - Node.js + Mongoose - 每次都没有获取数据
问题描述
我做了一个下拉列表,它从我用猫鼬获得的一些数据中获取它的链接。
然而它并不持久。使用完全相同的代码,我并不总是获得链接数据。
(实际上我所有的东西都是这样,但我的下拉菜单很简单)
我的下拉菜单(使用 EJS 和引导程序制作)
<div class="dropdown-menu" aria-labelledby="navdrop">
<% schools.forEach((school) => { %>
<a href="/skoler/<%= school.adress.city %>" class="dropdown-item"><%= school.name %></a>
<% }); %>
</div>
(对不起上面的烂格式,编辑不让我改进)。
这是我处理我的索引页的路线。
server.get('/',
async function(req, res) {
let schools = await schoolService.getAll();
res.render('public assets/pages/index', {
page_title: "Langaming.dk - Index",
schools: schools
});
}
);
这是我的 schoolService.getAll();
"getAll": () => {
return new Promise(function(resolve, reject){
School.find({}, function (err, schools) {
if (err)
return reject(err)
else
return resolve(schools)
});
})
}
我会尝试更好地解释它。当我进入我的页面时,有时会显示链接,有时则不会。(大多数情况下他们没有)。它始终是相同的代码。
该项目正在运行快递以进行路线处理。
为什么会这样?
解决方案
可能是由于某种原因您的数据库没有文档(您是否在请求之间清除数据?)并且它不会仅仅因为它而引发错误。
"getAll": () => {
return new Promise(function(resolve, reject){
School.find({}, function (err, schools) {
if (err)
return reject(err)
if (!schools) {
console.log('there are no documents');
return reject();
}
else
resolve(schools)
});
})
}
推荐阅读
- python - 使用 Python 反向搜索 Yandex 图像中的图像
- r - 如何在 R 中使用 ggplot 绘制多个物种的平均 CPUE
- c++ - 是否可以将已经初始化的变量变成 void*?
- javascript - 反应 useState 和 setState 行为错误
- ruby-on-rails - 在后台执行外部 API 调用
- javascript - 随机字符边界 JavaScript
- python - Python imaplib - 当附件包含 UTF-8 字符时,get_filename() 不起作用
- javascript - 如何使用 Angular Firebase 实现 isLoggedIn 方法?
- c# - 我正在尝试使用 C# 更改表添加列
- ios - 如何从 SWIFT 中的主字符串中拆分数字和子字符串?