我想只向客户端发布有限数量的数据.
我试过这样做:
# server
Meteor.publish('users', ->
Meteor.users.find({},
fields:
services: 0
)
)
Run Code Online (Sandbox Code Playgroud)
但客户端仍然收到整个对象.
# client
Meteor.startup( ->
Meteor.subscribe('users')
)
# ...
# in another function
Meteor.users.find().observe( ->
changed: (updated) ->
console.log updated
)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Meteor.publish '', ->
Posts.find({}, { fields: { title: 1, content: true, secret: false } });
Run Code Online (Sandbox Code Playgroud)
怎么样添加那些{}
下面的代码对我有用(coffeescript)。该pwd字段未发布。
Meteor.publish "users", (userId) ->
user = Users.find userId,
fields:
pwd: false
return user
Run Code Online (Sandbox Code Playgroud)
Meteor.autosubscribe ->
userId = Session.get SESSION_USER
Meteor.subscribe 'users', userId
Run Code Online (Sandbox Code Playgroud)
我看到的唯一区别是
0vs false...(应该只是品味问题)Meteor autosubscribe当您使用该observe方法时,我的订阅被放置在回调中。Meteor.users.find().fetch()这些字段也存在于浏览器控制台的结果中吗?