Express + node.js API过滤

我正在开发一个节点API。 我有像GET /messages端点

这将返回所有的消息。 我想要在这个端点上分页

 GET /messages?filter=my_filter_string&limit=10&offset=10 

filter语句将是这样的

 {fieldName1}={fieldValue1}&...{fieldNameN}>{fieldValueN}. Operations can be =, > or <. < and > operations are only for number, integers and dates 

我使用sequelize作为ORM和postgresql作为数据库。 我的问题是如何parsingmy_filter_statement并将其转换为sequelize的search条件对象。 另外,如果我打电话给API

 GET /messages?filter="id=10&contentlength>20"&limit=10&offset=10 

它不工作

你可以有,例如:

 GET /messages?greater=1&less=5&limit=10&offset=10 

然后在节点:

 var url = require('url'); var url_parts = url.parse(request.url, true); var query = url_parts.query; 

并且将查询参数(比如大于/小于(可以缩写为“gt”和“lt”))与您声明中需要的符号匹配?