如何在Meteor中处理大量数据?

时间:2015-02-20 17:12:49

标签: mongodb meteor publish-subscribe minimongo

我有一个分页栏,可以控制我在表格中显示的数据(每次移动到新页面时我都会重新订阅)。我正在使用的集合有25,000个文档,它可能会获得100,000个文档。对于第一对页面,所有内容似乎都按预期工作,但是在第8页之后,事情变得越来越慢,如果我从1跳到10,数据就不会加载(如果我从1跳到最后一页则相同)一个2546th)。我在订阅和发布时都检查了跳过和限制的值,并且它们总是正确的,所以问题是,有没有更好的方法来处理订阅和发布中的大量数据?这是我的代码的一部分

// both
c_frameworks = new Mongo.Collection("framework");

//client
var skip = this.data.limit * obj.page // page number 0 ... 2546
Meteor.subscribe("framework", skip, this.data.limit);
Template.myT.helper({
    return c_frameworks.find({}, {
                                  sort: ["_id", "asc"],
                                  skip: this.skip, 
                                  limit: this.limit
                                  });
});

// server
Meteor.publish("framework", function (mySkip, myLimit) {
    check(mySkip, Number);
    check(myLimit, Number);
    return c_frameworks.find({}, {sort: ["_id", "asc"], skip: mySkip, limit: myLimit});
});

更新:

我刚刚发现这个信息,它说明为什么这种方法非常慢但是解决方案不是理想的解决方案

Slow pagination over tons of records in mongo

0 个答案:

没有答案