Node.js插件可以提供更舒适的数据库查询

时间:2017-09-08 09:41:29

标签: node.js database rest sqlite

我正在开发REST API。在我的一条路线/api/v1/user上,您可以通过网址传递参数,例如。 /api/v1/user?id=1&login=asdf。我希望我的应用程序从SQLite数据库返回用户对象(我使用node-sqlite3包连接到db)。为了做到这一点,我将不得不做这样的事情(这是sqlite查询,后来传递给像db.all()这样的函数并执行):

sql = `SELECT _id, login FROM Users WHERE _id={$req.swagger.params.id.value} AND login={req.swagger.params.id.value} ...

这最终很痛苦,并没有真正起作用,因为我的网址中的所有参数都是可选的(没有参数意味着返回所有用户),我不知道如何在sql查询字符串中使这些参数成为可选项。 长话短说,我需要一个可以接受一个对象的模块,从中查询,例如。来自这个对象:

{
  id: 1,
  login: login1
}

它会创建一个查询

SELECT * FROM Users WHERE id=1 AND login=login1

当然选择了完全自定义的表和列。如果这是可能的话,如果它可以使查询适合于上一个选择的数据库,那将是很好的。

编辑:忘记添加,我使用swagger-express模块​​作为我的应用程序的基础框架。

1 个答案:

答案 0 :(得分:1)

所以你需要一个ORM,我想,试试SequelizeKnex