Meteor语言 - 如何限制发布到客户端的字段



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

我尝试这样做:

# 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
)

我做错了什么?

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

添加那些{}怎么样

下面的

代码对我有用(咖啡脚本)。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

我看到的唯一区别是

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

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

最新更新