最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Express JS按ID显示数据

IT培训 admin 10浏览 0评论

Express JS按ID显示数据

我使用具有集合结构的mongodb如下:

聊天机器人集合

{
    "_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>

如何通过mongodb中的id显示数据聊天机器人?当我点击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部分表示您想要匹配路径中该部分的任何值,然后Express将匹配的任何内容放入req.params.id。因此,如果要将id值用作数据库查询的一部分,则需要在数据库查询中使用req.params.id,以便仅从数据库中选择所需的数据。

此外,您不在渲染路径中使用:id,因此请从此处删除它:

res.render('cpanel/chat-bot/:id', ...);

这应该只是模板文件的路径(无论模板的文件名是什么):

res.render('cpanel/chat-bot', ...);

您没有透露数据库中的数据,因此我们无法真正帮助您使用req.params.id值从数据库中选择所需的数据。我认为你会在某种查询中使用它。

Express JS按ID显示数据

我使用具有集合结构的mongodb如下:

聊天机器人集合

{
    "_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>

如何通过mongodb中的id显示数据聊天机器人?当我点击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部分表示您想要匹配路径中该部分的任何值,然后Express将匹配的任何内容放入req.params.id。因此,如果要将id值用作数据库查询的一部分,则需要在数据库查询中使用req.params.id,以便仅从数据库中选择所需的数据。

此外,您不在渲染路径中使用:id,因此请从此处删除它:

res.render('cpanel/chat-bot/:id', ...);

这应该只是模板文件的路径(无论模板的文件名是什么):

res.render('cpanel/chat-bot', ...);

您没有透露数据库中的数据,因此我们无法真正帮助您使用req.params.id值从数据库中选择所需的数据。我认为你会在某种查询中使用它。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论