2017-01-19 3 views
1

私のクエリで何が間違っているのか分かりません。私のクエリがあるので、私は「偽の解決」:フィールドと「alertes」の数を取得したいMongoDBコレクション内に条件付きアイテムの数を数えてください。

Alertes.find({resolved: false}).count(); 

しかし、私は解決さフィールドを持つコレクション内の1つのエントリを持っているにもかかわらず、それは私に0を返します。falseを

Somoneは私が間違っていることを理解するのに役立ちますか?

enter image description here

+0

"Alertes"コレクションからサンプルドキュメントを投稿できますか? – felix

+0

構文は正しいですが、何らかの理由でブール値としてfalseの代わりにstringとして 'false'を格納していますか?その場合、クエリは機能しません。 –

+0

だから、フェリックスは、編集、chridam私はJavascriptでそれをやっている私は非同期メソッドを試してみる結果: 'Alertes.countは関数'ではない、それからRahulKumar私はブール値として格納しています – Jerome

答えて

1

私は私のIronRouterファイル内のコレクションにサブスクライブするのを忘れていた:

Router.route('/', { 
    name: 'home', 
    waitOn: function() { 
    return [ 
     Meteor.subscribe('infosContainers'), 
     Meteor.subscribe('infosMachines'), 
     Meteor.subscribe('alertes'), 
    ]; 
    }, 
    fastRender: true, 
}); 

あなたはこれを試していましたヘルプ

0

いただきありがとうございますか!

Alertes.find({resolved: false}).fecth().length 

あなたは、クライアント側でこのコードを実行している場合、あなたはこのコレクションを購読し、あなたが探しているフィルタを満たす文書を持っているしていることを確認してください。 文書は上記のクエリであることを確認し、あなたが戻って得るかどうか確認する(フィルターなし)すべての文書を照会してください:

Alertes.find().fecth() 

あなたが解決プロパティセットで任意のドキュメントが見つからない場合falseに設定すると、クエリが正しく返され、問題はサブスクリプションです。

関連する問題