$ne和$nin不在流星后端工作



我注意到,无论我在哪里有一个涉及$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/packages 文件中检查它。如果是,请将其删除,以便流星尊重您的出版物。

让我知道这是否解决了您的问题。谢谢!

更新 1:试试这个:

MeteorObservable.subscribe("testing").subscribe(() => {
    console.log(Courses.find({name: {$ne: 'Course A'}}).fetch());
});

最新更新