从循环中的MongoDB集合中选择单个documentobjects?

问题描述 投票:0回答:1

我不知道该如何准确地表达,但基本上在我的代码中,我使用 forEach 并将其中的对象用ejs显示在一个表格中。我想让用户点击其中的一个对象时,它将带他们到一个页面,里面只有他们选择的项目的详细信息,但不能这样做,因为它们是通过循环显示的。

例如:我的集合,叫做 stores,有这样的对象 environment, storeversion. 当我用循环显示它们时,我是这样做的。

     <table>
            <tr>
                <th>Environment</th>
                <th>Store Name</th>
                <th>Code Version</th>
            </tr>
        <% stores.forEach(function(store){ %>
            <tr>
                <td> <%= store.environment %> </td>
                <td> <%= store.store %> </td>
                <td> <%= store.version %> </td>
            </tr>
        <% }); %>
    </table>

最后得到的表格是这样的

Environment | Store Name   | Code Version
-----------------------------------------
QA1         | Oakdale      | 2019.09
QA2         | Westminster  | 2020.03 
QA3         | Garden Grove | 2020.05

我希望用户能够点击,例如: QA1 它将引导他们到另一个页面了解QA1的详细信息。我的问题是,在代码被显示为一组的情况下,通过 <%= store.environment %>我如何在QA1或QA2上创建一个链接?现在,如果我把一个链接放在相同的 td 作为 <%= store.environment %>,该链接显示在每一个 environment.

有没有可能通过jQuery或其他东西来选择特定的环境?

html node.js mongodb object ejs
1个回答
1
投票

是的,你可以,你只需要检查一下你的 environment 属性,或者任何你用来定义是否应该显示链接的属性。

这里有一个快速的例子来说明你如何做到这一点。

<table>
        <tr>
            <th>Environment</th>
            <th>Store Name</th>
            <th>Code Version</th>
        </tr>
    <% stores.forEach(function(store){ %>
        <tr>
            <td> 
                <% if (store.environment === "QA1") { %>
                   <a href="/your-url"><%= store.environment %></a>
                <% } else { %>
                   <%= store.environment %> 
               <% } %>
            </td>
            <td> <%= store.store %> </td>
            <td> <%= store.version %> </td>
        </tr>
    <% }); %>
</table>

很抱歉有任何代码错误,我是直接从StackOverflow上下载的。

© www.soinside.com 2019 - 2024. All rights reserved.