使用mySQL的LoopBack“分组依据”功能

LoopBack "group by" ability with mySQL?

本文关键字:分组依据 功能 mySQL LoopBack 使用      更新时间:2023-09-26

我是LoopBack新手,我似乎错过了一些东西。我听说过很多关于StrongLoopLoopBack,我发现很难相信这不存在。

我的情况:我希望计算每个不同严重性的事件数量。

例如一个表:

事件标识 |严厉

1 | 2

2 | 2

3 | 4

4 | 3

5 | 3

6 | 5

7 | 1

8 | 2

现在我想计算事件的数量并按严重性对它们进行分组,所以我得到了类似这样的 JSON :

{1:1, 2:3, 3:2, 4:1, 5:1} *(severity:count)*
使用

SQL非常简单,只需使用"SELECT severity, count(severity) FROM events GROUP BY severity"即可。

我已经研究了一段时间,仍然不敢相信这个简单的事情不能用LoopBack来完成!

有什么解决办法吗?或者也许是一篇文章来指点我?

提前感谢!

到目前为止,

环回ORM还没有完全支持它,但您可以随时直接使用MySQL驱动程序:

YourModel.dataSource.connector.query('SELECT severity, count(severity) FROM events GROUP BY severity', (err, results) => {
   //...
});

但是如果你想与数据库无关,你可以在Javascript中使用Lodash来完成:

YourModel.find({ fields: 'severity' }).then(rows => {
  const results = _.mapValues(_.groupBy(rows, severity), 'length');
  //...
});