如何从控制器渲染两种类型的数据以在 node.js 中查看?

Posted

技术标签:

【中文标题】如何从控制器渲染两种类型的数据以在 node.js 中查看?【英文标题】:How to render two types of data from controller to view in node.js? 【发布时间】:2019-12-16 20:42:15 【问题描述】:

我正在尝试将两组数据模型从 mongodb 渲染到 View。 以下代码是controllers.js 的实现,我想将数据呈现给sensors.ejs。

Sensor.find('type': 'thermometer').select('type value createdAt').exec(function(err, data)
        if(err) throw err;
        res.render('sensors',  thermosensors: data, moment: moment );
    );

Sensor.find('type': 'hygrometer').select('type value createdAt').exec(function(err, data)
        if(err) throw err;
        res.render('sensors',  hygrosensors: data, moment: moment );
    );

当我只渲染温度计数据时它工作得很好,但是当我为湿度计添加完全相同的线时它没有通过。如何渲染这些按类型过滤的数据?

【问题讨论】:

【参考方案1】:

试试下面的答案:

const _ = require('underscore)
Sensor.find('type': $in : ['thermometer', 'hygrometer']).select('type value createdAt').exec(function(err, data)
    if(err) throw err;
    let sensorData  = _.groupBy(data, 'type')
    res.render('sensors',  thermosensors: sensorData.thermometer, hygrosensors: sensorData.hygrometer moment: moment );
);

【讨论】:

以上是关于如何从控制器渲染两种类型的数据以在 node.js 中查看?的主要内容,如果未能解决你的问题,请参考以下文章

如何在渲染 ejs 视图 Node.js 时捕获错误

在 Node.js/Express 中,如何自动将此标头添加到每个“渲染”响应中?

启动 Node.js 控制台时如何运行脚本?

无法从控制器渲染 php 变量以在 yii2 中查看

正确导出 node.js 中的类以在其他所需文件中扩展它们[重复]

如何在 node.js 中导入 font-awesome 以在 react.js 中使用?