如何禁用羽毛服务中的分页?

How to disable pagination in feathers service?

您好,我尝试以这种方式使用羽毛服务填充我的数据表:

app.service('pupils').find({}, (error, result) => {

    $('#pupils > table').DataTable({
        "pageLength": view.short,
        "lengthChange": false,
        "info" : false,
        "responsive": true,
        "data": result.data,
        "deferRender": true,
        "columns": [ ... ]
    });

}); 

我有超过 100 条测试记录,但在回调中我只收到 10 条记录。 在羽毛服务中添加以下代码后,我收到了更多记录:

paginate: {
   default: 100,
   max: 200
 }

但我想为从 mongo 收到的所有记录禁用分页。 我该怎么做?

要禁用分页,请删除 paginate 选项。但是不推荐用于生产环境,因为如果您尝试发送数千条记录,它可能会同时关闭客户端和服务器。

注意:响应对象会根据您是否使用分页而变化:

分页响应: 对象 data 数组 属性

{
   total: 572,
   limit: 50,
   skip: 4,
   data: [/* the data is here */]
}

响应不分页:数据数组

[/* the data is here */]

正如@daff在上面的回答中已经指出的,您可以在您的配置中禁用分页,尽管确实不推荐这样做。

您还可以在服务调用中禁用一次服务调用的分页。

service.find({ paginate:false})

这已在 Github here

上讨论

可以找到此功能的文档 here