Node.js 如何在服务中禁用分页?
您好,我尝试通过以下方式使用feathers服务填充我的数据表:Node.js 如何在服务中禁用分页?,node.js,mongodb,mongoose,feathersjs,Node.js,Mongodb,Mongoose,Feathersjs,您好,我尝试通过以下方式使用feathers服务填充我的数据表: app.service('pupils').find({}, (error, result) => { $('#pupils > table').DataTable({ "pageLength": view.short, "lengthChange": false, "info" : false, "responsive": true,
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条记录。
在feathers服务中添加以下代码后,我收到更多记录:
paginate: {
default: 100,
max: 200
}
但我想对从mongo收到的所有记录禁用分页。
如何执行此操作?要禁用分页,请删除
paginate
选项。但不建议用于生产环境,因为如果您尝试发送数千条记录,可能会同时导致客户端和服务器停机
注意:响应对象的变化取决于您是否使用分页:
分页响应:具有数据的对象
数组属性
{
total: 572,
limit: 50,
skip: 4,
data: [/* the data is here */]
}
不分页的响应:数据数组
[/* the data is here */]
正如上面的回答中已经指出的那样,您可以在配置中禁用分页,尽管这确实是不推荐的
您还可以在服务调用中禁用一次服务调用的分页
service.find({ paginate:false})
这是在Github上讨论的
如果禁用分页,则可以找到此功能的文档如果我收到空数组。我在项目中使用数据表。我需要从我的数据库接收所有记录,除非你知道更好的解决方案<代码>分页:false,对我不起作用。那么这可能是一个错误,或者您的设置中有其他错误。删除
paginate
选项或将其设置为false
应该会起作用。我知道出了什么问题。如果我使用paginate选项,我的结果是:Object{total:11,limit:100,skip:0,data:Array[11]}
没有这个选项,或者paginate:false
我收到了数组[Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,1更多…]
在我的数据表中,我必须将result.data更改为result。谢谢你,傻瓜!