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
出于安全原因,客户端和服务器之间只传递params.query
。一般来说,我不建议让客户端禁用分页,除非保证你只得到几条(少于 100 条(记录。否则,具有许多记录的请求可能会导致双方都出现重大问题。
如果它仍然是您需要的东西,您可以使用禁用分页钩子,如果您想禁用分页,您可以将$limit
设置为-1
:
const { disablePagination } = require('feathers-hooks-common');
module.exports = { before: {
find: disablePagination()
} };