我希望向所有客户发布所有用户集合。我删除了autopublish包并将帐户包添加到项目中。我知道帐户包只将用户集合发布给登录用户,但我想发送完整的用户集合。
发布/子代码:
if (Meteor.isServer) {
Meteor.publish('users', function() {
return Meteor.users.find();
});
}
if (Meteor.isClient) {
Meteor.subscribe('users');
}
以下是希望显示mongodb所有用户的模板:
Template.userList.helpers({
users: function () {
return Meteor.users.find();
}
});
答案 0 :(得分:2)
以下设置: 我创建了meteor项目并删除了autopublish和insecure包,并将accounts-password包添加到我的项目中。
发布/子代码:
if (Meteor.isServer) {
Meteor.publish('usersData', function() {
return Meteor.users.find();
});
}
if (Meteor.isClient) {
Meteor.subscribe('usersData');
}
模板:
<template name="userList">
<h1> Users </h1>
<ul>
{{#each usersList}}
{{> userItem}}
{{/each}}
</ul>
</template>
<template name="userItem">
<li>{{username}}</li>
</template>
模板助手:
Template.userList.helpers({
usersList: function () {
return Meteor.users.find();
}
});
作品。
请避免使用流星预定义变量名称(如用户),避免在调试过程中出现混淆
答案 1 :(得分:0)
if(Meteor.isServer){
Meteor.publish(null, function() {
return Meteor.users.find();
});
}
这是没有订阅的合适方式,它会发布所有用户集合, 但这不可取。