快递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

回到顶部