0

Featherjs find 服务无法通过 find 函数传递额外的参数。在下面找到将额外参数数据传递给服务的服务。但无法在服务挂钩处接收价值。

客户端代码:

return this.app.service('userlist').find({
      query: { usersIds: { "$in" : [this.user._id]} },
      paginate: false,
      params:{ name:'sam' }
    }).then(response => {


}).catch(error => {
  console.log(error);
});

服务器代码(服务挂钩):

module.exports = function (options = {}) { 
return async function dogetUsr (context) {
    const { data } = context;

    console.log('Client Param data -->',context.params.name);

    return context;
  };
};

参数数据未在服务器接收 --> params:{ name:'sam' }

服务器/服务挂钩处的输出:

Client Param data -->undefined
4

1 回答 1

0

出于安全原因,仅params.query在客户端和服务器之间传递。一般来说,我不建议让客户端禁用分页,除非您保证只获得少量(少于 100 条)记录。否则,具有许多记录的请求可能会导致双方出现重大问题。

如果它仍然是你需要的东西,你可以使用disablePagination钩子,如果你想禁用分页,你可以将它设置$limit为:-1

const { disablePagination } = require('feathers-hooks-common');
module.exports = { before: {
  find: disablePagination()
} };
于 2018-08-11T21:04:13.580 回答