javascript - Mongoose 查询 : inserting html separators according to object parameter

标签 javascript mongoose

我最近开始深入研究 JavaScript 和 NodeJS,为我的论文构建一个项目。

我有一个集合(植物),其对象有一个属性(园丁:字符串)

正在路由上查询:

app.get("/", function(req, res) {
    Plant.find({}).sort('gardener').exec(function(err, plants){
        if (err) { console.log(err); }
        else {
            res.render("index", {plants: plants}); 
        }
    });
});
<小时/>

如何显示所有植物,但为每个园丁放置一个分隔符? (园丁也是用户,因此可以受到限制)

类似的东西

<h4>Gardener <%=plant.gardener%></h4>
[here goes a list of the plants of this gardener]

例如(/的渲染):

<h4>Gardener Mary</h4>
... (list of Mary's plants)

<h4>Gardener Joseph</h4>
... (list of Joseph's plants)

<h4>Gardener George</h4>
... (list of George's plants)

[...]

P.S.:我知道最好的方法是将园丁定义为用户的引用,但这将是下一步:)

最佳答案

在 else 语句中,您可以重新组织植物数组:

var newPlants = [];
var aux = [];
var previousGardener = "";

plants.forEach(function(plant) {
    if(previousGardener === plant.gardener) {
        aux.push(plant);
        return ;
    }
    if(previousGardener !== "") {
       newPlants.push({ gardener: previousGardener, plants: aux });
       aux = [];
    }
    aux.push(plant);
    previousGardener = plant.gardener;
});

if(aux.length > 0)    newPlants.push({ gardener: previousGardener, plants: aux });
res.render("index", { plants: newPlants });

你的 html 会是这样的:

<% for(var i = 0 ; i < plants.length ; i++) { %>
    <h4><%= plants[i].gardener %></h4>
    <ul>
    <% for(var j = 0 ; j < plants[i].plants.length ; j++) { %>
        <li><%= plants[i].plants[j].description %></li>
    <% } %>
    </ul>
 <% } %>

这是我临时写的,如果有什么问题,我深表歉意。

新年快乐:)

关于javascript - Mongoose 查询 : inserting html separators according to object parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418745/

相关文章:

javascript - 异步 setTimeout 会阻止快速处理,直到发生 res.send

node.js - 收到弃用警告,并建议使用我在 MongoDB/Mongoose 中使用的内容

node.js - npm install mongoose : shasums. txt 丢失

javascript - Jquery 从列表中检索特定 div 的宽度

javascript - 正确的 JSON 格式

node.js - 在 node.js 和 Mongoose 中添加 friend 路线的正确方法?

node.js - Mongoose 在嵌入模式时分离文档?

node.js - 使用 mongoose 返回单个嵌套数组对象

javascript - HTML5 Canvas javascript 涂抹画笔工具

javascript - JavaScript 字符什么时候可以占用 2 个代码单元?代码单元到底是什么?