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

时间:2017-11-15 10:56:57

标签: node.js mongodb mongoose feathersjs

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

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接收所有记录的分页。 我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

要禁用分页,请删除paginate选项。不建议用于生产,因为如果您尝试发送数千条记录,它可能会导致客户端和服务器崩溃。

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

使用data数组属性

的分页响应对象
{
   total: 572,
   limit: 50,
   skip: 4,
   data: [/* the data is here */]
}

没有分页的响应:数据数组

[/* the data is here */]

答案 1 :(得分:0)

正如@daff在上面的答案中已经指出的那样,尽管实际上不建议这样做,但是您可以在配置中禁用分页。

您也可以在服务呼叫中一次禁用呼叫分页。

service.find({ paginate:false})

在Github here

上对此进行了讨论

此功能的文档可以找到here