2016-02-26 88 views
0

我已经通过了外壳,但由于某种原因,创建一个新的集合(领域),当我尝试发布它:从子异常:流星 - 不能访问收集

Meteor.publish('Areas', function(){ 
    return Meteor.Areas.find(); 
}); 

我得到以下错误区域ID vSLHezdCrv77i6aca TypeError:无法调用未定义的方法'find'。

我使用与用户表完全相同的过程,它工作正常。当我从mongo shell查询它时也是可以的。

任何帮助将不胜感激!

编辑:

代码订阅:

Template.content_profile.onCreated(function() { 
    var self = this; 
    self.autorun(function() { 
     var id = FlowRouter.getParam('id'); 
     self.subscribe('profileInfo', id); 
     self.subscribe('Areas'); 
    }); 
    console.log(Areas.find().count()); 
    });" 

回答

1

你不必与流星前缀是:

Areas = new Mongo.Collection("areas"); 

Meteor.publish('Areas', function(){ 
    return Areas.find(); 
}); 
+0

感谢的人,这样的工作,但现在我不能管理连接它在客户端。我已将我的client.js中的代码添加到原始帖子中。你能否看看它是否有什么问题? console.log行以“ReferenceError:区域未定义”结尾 – user43051

+1

您需要在共享位置(通常是项目根目录下的“collections”文件夹)中定义区域。 –

+1

另外,您无法直接订阅集合 - 您需要发布数据。查看http://guide.meteor.com了解它。 –