Featherjs查找服务无法通过查找功能传递额外的参数。在下面找到将额外的参数数据传递给服务的服务。 但无法在服务挂钩上获得该值。
客户代码:
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
答案 0 :(得分:0)
出于安全原因,客户端和服务器之间仅传递params.query
。通常,除非保证只获得几条(少于100条)记录,否则我建议您不要让客户端禁用分页。否则,具有很多记录的请求会在双方上引起重大问题。
如果仍然需要它,可以使用disablePagination钩子,如果想禁用分页,可以将$limit
设置为-1
:
const { disablePagination } = require('feathers-hooks-common');
module.exports = { before: {
find: disablePagination()
} };