我注意到无论我在哪里有涉及$ ne或$ nin的出版物定义,它都没有效果。例如,我将出版物定义为
Meteor.publish('testing', function() {
return Courses.find({name: {$ne: 'Course A'}})
});
我已经确定我的课程名称为“课程A”,但是,当我在客户端订阅这样的课程时:
MeteorObservable.subscribe("testing").subscribe(() => {
console.log(Courses.find().fetch())
});
我获得了数据库中的每一门课程(包括名为“课程A”的课程)。如果它是相关的,我对课程的定义是:export const Courses = new MongoObservable.Collection<Course>('courses');
。
我的选择器是错误的,还是Meteor的错误?当我在客户端运行相同的选择器时,一切都按预期工作。
答案 0 :(得分:0)
您是否检查过是否禁用/删除了自动发布包?您可以在.meteor / packages文件中查看它。如果是,则删除它,以便流星尊重您的出版物。
如果这可以解决您的问题,请告诉我。谢谢!
更新1: 试试这个:
MeteorObservable.subscribe("testing").subscribe(() => {
console.log(Courses.find({name: {$ne: 'Course A'}}).fetch());
});