流星,发布双连接反应

时间:2016-03-18 22:16:56

标签: mongodb meteor

如下所示,在我的发布方法中,我需要进行两次连接,而我完成它的方式会抛出“错误:发布函数返回一个非游标数组”异常。它甚至没有反应!

是否有可能以更好的方式做到这一点,我非常注重性能,并且不希望在客户端和服务器之间进行3次返回并且强制执行,也有些软件包在阵列中的每个项目上都会访问数据库一次! !

Meteor.publish('post', function(id) {
    Posts.incView(id);
    parentPost= Posts.findOne({_id: id});
        console.log(parentPost);

    eachPost= Posts.find({_id: {$in : parentPost.childs }});
    users=[parentPost.createdBy];
    eachPost.forEach( function(each) { users.push(each.users)});
    return [
        parentPost,
        eachPost,
        UInfo.find({_id:{$in:users}})
    ];
});

1 个答案:

答案 0 :(得分:1)

findOne()返回一个对象,而不是光标,这就是您收到错误的原因。将findOne代码更改为:

parentPost = Posts.find({_id: id});

这样你就可以返回三个游标。