【发布时间】:2015-03-28 09:58:47
【问题描述】:
我有一个简单的流星应用程序,用于学习如何进行 CRUD 操作。它工作得很好,但我的收藏集的发布/订阅有问题,我一辈子都想不通。
我的文件夹结构是
/client
/main.js
/templates
/public
/server
/main.js
我在服务器文件夹中有一个 main.js 文件,其中包含具有发布功能的基本集合
/server/main.js
Dist = new Mongo.Collection('dist');
Meteor.publish('dist', function (){
var currentUser = this.userId;
return Dist.find({owner: currentUser});
});
在客户端文件夹下订阅
/client/main.js
Meteor.subscribe('dist');
我在模板中有一个 for each 循环,该循环应该为用户显示返回的信息。当我的服务器 main.js 在服务器文件夹中时,我的模板循环不返回任何内容,但 CRUD 回调服务器工作正常。如果我将服务器 main.js 文件移动到我的项目的根目录中,一切都会按预期工作。然而,这是否违背了发布/订阅方面的目的:将主集合保留在服务器端,同时仅向用户显示他们自己的数据?
我无法弄清楚为什么在无休止的 Google 搜索之后会发生这种情况,但似乎没有任何区别。自动发布和不安全也已被删除。我认为唯一的第三方包是引导样式。
【问题讨论】:
标签: javascript collections meteor