从循环中的 MongoDB collection 中选择单个 documents/objects?

Selecting individual documents/objects from MongoDB collection that's in a loop?

我不确定如何准确表达这个...但基本上在我的代码中,我使用 forEach 循环遍历 MongoDB collection 并显示 objects 在他们里面用 ejs 在 table。我想做到这一点,以便当用户单击其中一个 objects 时,它会将他们带到一个页面,其中仅包含他们 select 编辑的项目的详细信息,但不能这样做,因为他们是通过循环显示。

例如: 我的 collection,名为 stores,有 objects,例如 environmentstoreversion。当我循环显示它们时,我是这样做的:

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

结果 table 看起来像这样:

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

我希望用户能够点击,例如,QA1,它会将他们定向到另一个页面以获取有关 QA1 的详细信息。我的问题是,代码通过 <%= store.environment %> 显示为一组,如何在 JUST QA1 或 QA2 上创建 link?现在,如果我将 link 放在与 <%= store.environment %> 相同的 td 中,则 link 会出现在 environment.

的每个实例中

是否有可能通过 jQuery 或其他方法到达 select 特定环境?

是的,你可以,你只需要检查 environment 属性,或者你用来定义的任何 属性 是否应该显示 link.

这里有一个简单的例子来说明如何做到这一点:

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

对于任何代码错误,我深表歉意,我是直接从 Whosebug 做的。