Javascript 为什么.count()会破坏流星?
这是我的Javascript 为什么.count()会破坏流星?,javascript,meteor,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'})
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');
});
如果我把标记的地方移走,一切都会好起来。否则,我将得到以下错误:
奇怪的是,在控制台中调用downloads.movies.count()
可以正常工作
这是怎么回事 Downloads=newmongo.Collection('Downloads')代码>应该位于只调用一次的位置。您可以创建一次新的Mongo集合并多次订阅它
标准做法是使用一个
/lib
文件夹来组织收藏。下载=新的Mongo.Collection('Downloads')代码>应该位于只调用一次的位置。您可以创建一次新的Mongo集合并多次订阅它
标准做法是使用一个
/lib
文件夹来组织您的收藏。是否有另一个带有新Mongo.Collection('downloads')的文件代码>在其中?您是否有另一个带有new Mongo.Collection('downloads')的文件代码>在其中?它可能会在您第一次加载应用程序时工作。切勿在路由内定义新集合。新集合应在路由声明之外。否则,每次调用该路由时都会调用它(这就是为什么会出现此错误的原因)!旧习难改。谢谢:)它可能会在你第一次加载应用时工作。切勿在路由内定义新集合。新集合应在路由声明之外。否则,每次调用该路由时都会调用它(这就是为什么会出现此错误的原因)!旧习难改。谢谢:)