根据流星文档,如果安装了 autopublish 包,则应将所有用户发布到所有客户端。
http://docs.meteor.com/#meteor_users
我安装了 autopublish 包,但使用forEach
onMeteor.users
仅列出当前登录的用户。
有没有更正确的方法通过使用咖啡脚本列出客户端上的所有用户?
根据流星文档,如果安装了 autopublish 包,则应将所有用户发布到所有客户端。
http://docs.meteor.com/#meteor_users
我安装了 autopublish 包,但使用forEach
onMeteor.users
仅列出当前登录的用户。
有没有更正确的方法通过使用咖啡脚本列出客户端上的所有用户?
// in server.js
Meteor.publish("directory", function () {
return Meteor.users.find({}, {fields: {emails: 1, profile: 1}});
});
// in client.js
Meteor.subscribe("directory");
如果您在不使用订阅的情况下自动发布用户集合
if Meteor.isServer
Meteor.publish null, ->
Meteor.users.find {},
fields:
username: 1
profile: 1
如果你想订阅指定用户,你可以
if Meteor.isServer
Meteor.publish 'users-by-selector', (options) ->
Meteor.users.find options, # options as selector like $in: name: 'john'
fields: # use fields to only publish specify fields you want to send.
username: 1
profile: 1
if Meteor.isClient
Meteor.autosubscribe ->
options = Session.get 'your mongodb selector'
Meteor.subscribe 'users-by-selector', options, ->
console.log 'on Subscribe Complete Callback.'
if Meteor.users.find().count()
Session.set 'specifyUsersLoaded', true