• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

快递JS显示数据通过ID

node.js 来源:Arif Firmansyah 9次浏览

我使用的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一个来自你的数据库。我认为你会在某种查询中使用它。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)