Emberjs 不返回所有记录
Emberjs not returning all records
我正在使用 SANE 堆栈,它由 Sails 和 Emberjs 组成。我还使用 MongoDB 作为数据存储。
当我在 Sailsjs 方面执行类似以下操作时;
Parent.find(req.query.id).populate('children').exec(function(err, parent){
console.log('children.length = ' + parent[0].children.length);
});
我得到 212
但是当我在 Emberjs 方面执行类似以下操作时;
parent.get('children').then(function(children){
console.log('children.length = ' + children.length);
});
我得到 30 个。
事实上,一旦记录数超过30条,没关系ember只会return 30条记录。
有什么方法可以得到其余的记录吗?我实际上需要记录,所以我可以排序和计算一些东西。我不只是展示它们。
如有任何帮助,我们将不胜感激。
说明
那是因为 Sails 中的默认响应限制是 30 条记录。它显然在那里,所以如果你有 10k 或 100 万行,你不会发出一些正常的请求,并且不小心将整个数据库转储到客户端并导致一切崩溃。
这在此处记录:
http://sailsjs.org/documentation/reference/configuration/sails-config-blueprints
defaultLimit (default: 30)
The default number of records to show in the response
from a "find" action. Doubles as the default size of populated arrays
if populate is true.
它也记录在您的 sails 应用程序的 config/blueprints.js
文件中:
https://github.com/balderdashy/sails-generate-backend/blob/master/templates/config/blueprints.js#L152-L160.
相关代码如下:https://github.com/balderdashy/sails/blob/master/lib/hooks/blueprints/actionUtil.js#L291
解决方案
- 编辑
config/blueprints.js
文件中的 defaultLimit
或
- 将
&limit=<number>
添加到您的 http 请求 URL
我正在使用 SANE 堆栈,它由 Sails 和 Emberjs 组成。我还使用 MongoDB 作为数据存储。
当我在 Sailsjs 方面执行类似以下操作时;
Parent.find(req.query.id).populate('children').exec(function(err, parent){
console.log('children.length = ' + parent[0].children.length);
});
我得到 212
但是当我在 Emberjs 方面执行类似以下操作时;
parent.get('children').then(function(children){
console.log('children.length = ' + children.length);
});
我得到 30 个。
事实上,一旦记录数超过30条,没关系ember只会return 30条记录。
有什么方法可以得到其余的记录吗?我实际上需要记录,所以我可以排序和计算一些东西。我不只是展示它们。
如有任何帮助,我们将不胜感激。
说明
那是因为 Sails 中的默认响应限制是 30 条记录。它显然在那里,所以如果你有 10k 或 100 万行,你不会发出一些正常的请求,并且不小心将整个数据库转储到客户端并导致一切崩溃。
这在此处记录:
http://sailsjs.org/documentation/reference/configuration/sails-config-blueprints
defaultLimit (default: 30)
The default number of records to show in the response from a "find" action. Doubles as the default size of populated arrays if populate is true.
它也记录在您的 sails 应用程序的 config/blueprints.js
文件中:
https://github.com/balderdashy/sails-generate-backend/blob/master/templates/config/blueprints.js#L152-L160.
相关代码如下:https://github.com/balderdashy/sails/blob/master/lib/hooks/blueprints/actionUtil.js#L291
解决方案
- 编辑
config/blueprints.js
文件中的defaultLimit
或
- 将
&limit=<number>
添加到您的 http 请求 URL