2017-01-30 5 views
0

$ neや$ ninを含むパブリケーション定義がある場合は、何の効果もないことに気付きました。

MeteorObservable.subscribe("testing").subscribe(() => { 
     console.log(Courses.find().fetch()) 
    }); 

私は:たとえば、私は、クライアント上で、次のようにサブスクライブするとき、私は、しかし、私は名前を「Aコース」でコースを持っていることを確認してきた

Meteor.publish('testing', function() { 
    return Courses.find({name: {$ne: 'Course A'}}) 
}); 

として出版を定義しますデータベース内のすべての単一のコース(「コースA」という名前を持つコースを含む)を取得します。関連性がある場合は、コースの定義はexport const Courses = new MongoObservable.Collection<Course>('courses');です。 セレクタが間違っているのですか、それともMeteorのバグですか?クライアント側で同じセレクタを実行すると、すべてが期待通りに機能します。

答えて

0

自動公開パッケージを無効/削除したかどうか確認しましたか? .meteor/packagesファイル内でチェックすることができます。はいの場合は、それを削除して流星があなたの出版物を尊重するようにします。

これが問題を解決するかどうか教えてください。ありがとう!

更新1: これを試してみてください:

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

ええ、私が持っている、とすべての私の他の出版物は、($ Ninと$ NEが使用されていないもの)を作業 –

+0

あなたが意味する「ええ、私は持っている」ことであなたはまだ自動公開パッケージを持っていますか?あなたはそれを削除しようとしましたか?それでも問題が解決しない場合は、サブスクリプションを次のように変更してみてください: '' ' MeteorObservable.subscribe(" testing ")subscribe(()=> { console.log(Courses.find({名前:{$ ne: 'コースA'}})fetch()); }); '' ' – gone43v3r

+0

申し訳ありませんが、自動公開パッケージはありません。混乱のために私の悪い。 –

関連する問題