快递JS显示数据通过ID
我使用的mongodb与收集结构如下:快递JS显示数据通过ID
聊天机器人收集
{ "_id" : ObjectId("5a2f8edf84b906480af0d121"),
"botname" : "Welcome Chat",
"description" : "Welcome Chat",
"status" : "Inactive"
}
route.js
app.get('/cpanel/chat-bot/:id', function(req, res) { if (req.session.user == null) {
res.redirect('/cpanel/login');
} else {
CB.getAllRecords().then(results => {
res.render('cpanel/chat-bot/:id', { udata : req.session.user, chatbot: results});
}).catch(err => {
res.sendStatus(500);
});
}
});
index.ejs
<ul class="menu-sidebar"> <% for(var i = 0; i < chatbot.length; i++) { %>
<li>
<a href="/cpanel/chat-bot/:id"><span class="fa fa-circle-o"></span><%= chatbot[i].botname %></a>
</li>
<% } %>
</ul>
如何显示数据聊天bot通过id从mongodb?当我点击url 1(/ cpanel/chat-bot/1)时,它会显示来自mongodb的数据id 1,当我点击url 2(/ cpanel/chat-bot/2)时,它会显示来自mongodb的数据id 2?谢谢
回答:
当您配置像
app.get('/cpanel/chat-bot/:id', ...)
路由的路由的:id
部分指出,要匹配的路径的一部分的任何值,然后快速将放置任何被匹配到req.params.id
。因此,如果要将该值用作数据库查询的一部分,则需要在数据库查询中使用req.params.id
,以便仅从数据库中选择所需的数据。
另外,你不要在渲染路径中使用:id
所以从这里将其删除:
res.render('cpanel/chat-bot/:id', ...);
这应该只是你的模板文件的路径(无论模板的文件名是):
res.render('cpanel/chat-bot', ...);
你不透露太多关于数据库中的数据,以便我们能真正与你将如何使用req.params.id
值帮助不选择所需的DAT一个来自你的数据库。我认为你会在某种查询中使用它。
以上是 快递JS显示数据通过ID 的全部内容, 来源链接: utcz.com/qa/260388.html