为什么.count()打破流星?

时间:2015-11-30 21:31:58

标签: javascript meteor

这是我的routes.js

Router.route('/database_setup', function () {

    //Subscribe and stuff
    Downloads = new Mongo.Collection('downloads');
    Meteor.subscribe('downloads');

    var downloads = {
        movies :  Downloads.find({type : 'movies'})
    };

    if (downloads.movies.count() > 0) { // BREAKS HERE 

    }

    this.render('database_setup');
});

如果我删除了我标记的地方,一切正常。否则,我收到以下错误:

enter image description here

奇怪的是,在控制台中调用downloads.movies.count()可以正常工作。

这里发生了什么?

1 个答案:

答案 0 :(得分:4)

Downloads = new Mongo.Collection('downloads');应该只会被调用一次。您只需创建一次新的Mongo Collection并多次订阅它。

标准做法是拥有一个/lib文件夹,您可以在其中整理收藏品。