【发布时间】:2017-04-27 11:13:09
【问题描述】:
我有一个 Node.js REST API,通过 node-mysql 直接使用 MySQL 数据库。
我正在寻找一种以最高效的方式过滤端点上的数据库结果的方法。
目前,我有一个端点 /api/v2/matches,我的 API 代码在其中查询数据库并将结果作为 JSON 响应输出。
我计划在此端点上使用过滤器。例如/api/v2/matches?filter[team]=TeamId
在我的代码中过滤这些数据库结果的最佳方式/最高效的方式是什么?
我应该:
查询数据库中的所有内容,并在我的结果数组上使用
Array.prototype.filter()或类似名称来正确过滤数据。根据
req.query.filters对象上传递的内容,以编程方式组装我的查询字符串并查询数据库。
请记住,我当前对该端点(返回所有结果的那个)的查询有几个 INNER JOINS 正在进行。我也在这个查询中使用LIMIT 50。
【问题讨论】:
标签: mysql node.js api api-design