我正在尝试过滤发送给客户端的数据。
characterFields = {
_id: 1
userId: 1
}
Meteor.publish 'nearbyCharacters', ->
Characters.find({}, fields: {characterFields} )
但是,当我包含字段时:在find方法中,如果我执行
,则返回的结果较少Meteor.publish 'currentCharacter', ->
Characters.find()
返回正确的数据,但未过滤
答案 0 :(得分:0)
如果你试图得到它所以它只显示_id字段,请确保将第一个参数保留为空,因为它用于查询(我假设它是所有记录,对吧?):
Meteor.publish "currentCharacter", ->
Characters.find {},
fields: characterFields
答案 1 :(得分:0)
很遗憾,我无法重现您的问题。
我使用以下js创建了一个裸流星0.9.0
项目(没有自动发布):
Characters = new Meteor.Collection("items")
if Meteor.isClient
Meteor.subscribe "items", ->
console.log Characters.find().fetch()
return
if Meteor.isServer
Meteor.publish "items", ->
Characters.find {},
fields:
userId: 1
unless Characters.find().fetch().length
Characters.insert userId: 1
Characters.insert userIdNaN: 1
在客户端上,两个条目都按预期列出:
因此,我认为您的问题可能存在于其他地方,可能与同一集合的多个发布有关,或者多个订阅同一个发布。