流星订阅选择整个集合?

时间:2017-01-29 21:00:22

标签: mongodb meteor meteor-accounts angular-meteor

我已定义出版物:

Meteor.publish('uninvited', function (courseId: string) {
    return Users.find({
        'profile.courses': {
            $ne: courseId
        }
    });
});

因此,当订阅者订阅此内容时,我希望Users.find()返回未在该特定课程中注册的用户。所以,在我的客户端,我写的时候:

this.uninvitedSub = MeteorObservable.subscribe("uninvited", this.courseId).subscribe(() => {
            this.uninvited = Users.find().zone()});

我希望不请自己只包含一部分用户,但是,无论他们是否在特定课程中注册,我都会获得整个用户。我确保我的数据是正确的,并且我关注的课程中有用户注册。我还验证了this.courseId按预期工作。我的代码是否有错误,或者我是否应该进一步查看我的数据,看看它是否有任何问题?

**注: 当我这样写:

this.uninvitedSub = MeteorObservable.subscribe("uninvited", this.courseId).subscribe(() => {
    this.uninvited = Users.find({
        'profile.courses': {}
    }).zone();
});

有了它,它按预期工作!为什么?不同的是,我的查询现在包含' profile.courses':{}。

0 个答案:

没有答案