8

我只想向客户端发布有限数量的数据。

我试过这样做:

# server
Meteor.publish('users', ->
  Meteor.users.find({},
    fields:
      services: 0
  )
)

但是客户端仍然接收到整个对象。

# client
Meteor.startup( ->
  Meteor.subscribe('users')
)

# ... 
# in another function
Meteor.users.find().observe( ->
  changed: (updated) ->
    console.log updated
)

我究竟做错了什么?

4

2 回答 2

5
Meteor.publish '', ->
    Posts.find({}, { fields: { title: 1, content: true, secret: false } });

添加那些{}怎么样

于 2012-10-09T11:57:49.727 回答
4

下面的代码适用于我(咖啡脚本)。该pwd字段未发布。

服务器

Meteor.publish "users", (userId) ->
  user = Users.find userId,
    fields:
      pwd: false

  return user

客户

Meteor.autosubscribe ->
    userId = Session.get SESSION_USER

    Meteor.subscribe 'users', userId

我看到的唯一区别是

  • 0vs false...(应该只是口味问题)
  • 您的收藏可通过以下方式访问Meteor
  • autosubscribe在客户端中,当您使用该observe方法时,我的订阅被放置在回调中。

这些字段是否也存在于Meteor.users.find().fetch()浏览器控制台的结果中?

于 2012-10-09T08:56:42.170 回答