我已定义出版物:
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':{}。