发布mongodb引用

发布mongodb引用,mongodb,meteor,Mongodb,Meteor,嘿,我正在尝试获取另一个文档中的所有引用文档,并将它们一起发布 角色集合中的技能数组: skills: [ _id: 's001' , _id: 's002' , _id: 's003' , _id: 's004' ] 出版物 Meteor.publish 'character', -> if this.u

嘿,我正在尝试获取另一个文档中的所有引用文档,并将它们一起发布

角色集合中的技能数组:

skills: [
            _id: 's001'
          ,
            _id: 's002'
          ,
            _id: 's003'
          ,
            _id: 's004'
          ]
出版物

Meteor.publish 'character', ->
    if this.userId is null
        return

    return [
        Characters.find(userId: this.userId),
        Souls.find(userId: this.userId),
        Items.find(userId: this.userId),
        Skills.find(_id: { $in: 
            Characters.findOne(userId: this.userId).skills
        })
    ]

但这并不完全有效,有什么建议吗?

用户单独发布和调用客户端,比如发布(“firs”、函数(userId){})发布(“second”、函数(userId){}),然后在客户端订阅(“firs”);订阅(“第二次”),但是有没有一种聪明的方法可以用一次发布来完成呢?这个“不太管用”怎么办?通过检查以确保
字符。findOne
不会返回null,但假设它总是找到一个文档,并且该文档总是有
技巧数组,您看到了什么错误或意外行为?嗯,我以前没有尝试过,我的应用程序中有许多发布和订阅。