我想将所有用户发布到客户端(最终只会是所有用户的'profile'字段):
服务器上的出版物如下所示:
Meteor.publish('users', function users() {
return Meteor.users.find();
});
在我的模板中,我的订阅看起来像这样:
Template.Users_show_page.onCreated(function usersShowPageCreated() {
this.subscribe('users');
});
但是'users'变量不可用,我仍然需要通过Meteor.users访问用户,例如在以下代码中:
Template.Users_show_page.helpers({
users() {
return Meteor.users.find();
}
});
为什么会这样?
我认为我需要使用我选择的名称创建一个客户端集合 - 即“用户”,然后我可以访问该集合。
我该怎么做?如何与数据库中的用户进行同步?
答案 0 :(得分:1)
$ git commit -a
fatal: Unable to create 'D:/Projects/gitProjects/color-palette/.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git process is running and remove the file manually to continue.
上面的代码无法在任何地方创建MyCollection = new Meteor.Collection('foo');
Meteor.publish('myPublication', function() {
return MyCollection.find();
});
变量。它只是出版物/订阅的名称。您甚至可以在同一个集合中拥有多个不同的订阅。此代码返回myPublication
Mongo集合的游标,您可以通过MyCollection对象访问该集合。
因此,您的代码不需要创建新的foo
。只需使用Mongo.Collection
,因为Meteor.users
对象已经链接到"用户"在MongoDB中。
如果您真的想要访问用户变量中的文档,您仍然需要按照建议创建帮助程序,尽管使用Meteor.users而不是下面的帮助程序会更好:
Mongo.Collection