我想只向客户发布有限数量的数据。
我试过这样做:
# 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
)
我做错了什么?
答案 0 :(得分:5)
Meteor.publish '', ->
Posts.find({}, { fields: { title: 1, content: true, secret: false } });
如何添加{}
答案 1 :(得分:4)
以下代码适用于我(coffeescript)。 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
autosubscribe
方法时,我的订阅会被置于observe
回调中。这些字段是否也存在于浏览器控制台的Meteor.users.find().fetch()
结果中?