我有一个相当简单的页面,没有那么多的数据(总共约20k文件),而且它非常缓慢(完全加载大约需要30-60秒)。最让我感兴趣的是数据逐渐出现在页面上。这是为什么?为什么它这么慢?
这是页面.jade文件(它基本上只返回订单名称和订单的位置名称):
table(class="ui celled table")
thead
tr
th Order name
th Position name
tbody
each customerOrders
tr
td {{name}}
td
each customerOrderPositionModified
tr
td
td #{name}
相应的.js文件为空。
router.js文件(对于Iron Router)是这样的:
this.route('/buyingList/:supplierUuid', {
data: function() {
var supplierUuid = this.params.supplierUuid;
var retOrd = [];
_.each(orders.find({checked: true}, {name: 1, "customerOrderPosition.name": 1, "customerOrderPosition.quantity": 1, "customerOrderPosition.supplierUuid": 1 }).fetch(), function (order) {
var ret = [];
_.each(order.customerOrderPosition, function (pos) {
var good = Goods.findOne({uuid: pos.goodUuid}, {name:1, supplierUuid:1});
if (good) {
if (good.supplierUuid == supplierUuid){
var company = Companies.findOne({uuid: good.supplierUuid}, {name: 1, uuid: 1});
var tt = {name: good.name, quantity: pos.quantity, companyName: (company ? company.name : "")};
ret.push(tt);
}
}
});
if (ret.length > 0) {
order.customerOrderPositionModified = ret;
retOrd.push(order);
}
});
return { customerOrders: retOrd };
},
name: 'buyingList'
});
收藏品的尺寸:
已检查订单的数量(在第一次查询中返回)约为30。
我做错了什么?或流星应该是如此之慢?我对此表示怀疑。
提前感谢您的帮助。
答案 0 :(得分:1)
<强>摘要强>
如果一次发布超过几千个文档,流星可能会非常慢。<强>建议强>
修改您的发布者以接受必要的参数,以便仅发布您所需的数据库子集,以满足您所在路径的UI要求。