Sails API - 如何避免为添加到数据库的每个新字段创建新过滤器

时间:2017-08-10 03:07:42

标签: node.js api

标题说,如果该字段应该可以从客户端/前端应用程序进行过滤,是否有任何方法可以避免为添加到数据库的每个新字段创建新过滤器。 这是我注意到的一个问题,因为如果将新字段添加到数据库,我必须每次都创建一个新的过滤器。

数据库:mysql

以下示例代码:

function (req, res) {
  var params = req.params(); // get all params from request URI in JSON format
  var filter = {};
  if(params.name){
    filter.name = { contains: params.name };
  }

  // ... and so on for other fields.
  // this is where the part it is getting annoying
  // as if there's a new field added, we have to
  // add more and more code

  Model.find(filter).exec(function (err, records) {
    // handle error and send response back
  }
}

1 个答案:

答案 0 :(得分:0)

以下是我的代码段供您参考:

for (let key of Object.keys(params)) {
   filter[key] = {contains: params[key]};
}