Meteor 1.0 MiniMongo不向客户端提供服务

时间:2014-11-06 02:31:20

标签: javascript mongodb meteor

我正在使用Discover Meteor教程,即使Posts = new Mongo.Collection('posts');的所有功能都在服务器端Mongo shell上运行,在浏览器控制台上调用Posts函数根本不起作用:

Posts.insert()
ReferenceError: Posts is not defined`

该集合在lib/collections文件的posts.js文件夹中声明,如下:

Posts = new Mongo.Collection('posts');
if (Meteor.isServer) {
    Meteor.publish('posts', function(){
        return Posts.find()});
}
if(Meteor.isClient) {
    Meteor.subscribe('posts');
}

`

有任何想法或建议吗?当我在Mongo shell中运行db.posts.insert({title:" postname})时,新帖子会立即在浏览器中异步显示,所以我知道数据库正在运行。 我很早就在教程中,所以我觉得这不应该发生。

1 个答案:

答案 0 :(得分:3)

首先(仅针对良好实践),在控制台上运行此

Cd myApp
meteor remove autopublish

现在你需要发布(服务器端),订阅(客户端),所有你的收藏

    //server side 
    Posts = new Mongo.Collection('Posts');
   Meteor.publish('Posts', function(){
   return Posts.find()
    });

  /Client side
  Posts = new Mongo.Collection('Posts');
  Meteor.subscribe('Posts');

希望此作品交配,并不断发现流星

相关问题