2016-03-23 8 views
0

私は流星でコレクションからデータを取得しようとしています。このコードを使用して取得したデータは、(フェッチ)

ShareUserLogs.find({"_id":shared_id}).fetch()[0] 

shared_idは、ルートパラメータから来ている、それは問題ありません。

私はShareUserLogs.find({"_id":shared_id})戻り[object Object]

ShareUserLogs.find({"_id":shared_id}).fetch()[0] works fine in console and in mongodb terminal but in code it returns `undefined`. 

を使用する場合も、時にはそれが動作しますが、時間のほとんどはundefinedを返し、私はこの問題を探しますが任意の解決策を見つけることができませんでした。これを見てquestionしかし、それは助けや他のいくつかの質問もしませんでした。

これを修正する際にお手伝いください。 ありがとうございます。

+0

単一のドキュメントを検索している場合は、MongoカーソルではなくMongoドキュメントを返す 'findOne()'を使うこともできます。 – chridam

+0

私はそれがまだ未定義に戻ってきたことを試しました – AMahajan

+0

"空白"のようなものがあるかどうかを確認してください。そのようなものは、ひどく形成されたハイパーリンクなどによってパラメータに渡されるのはよくある間違いです。 'console.log()'パラメータはよく見えます。不明な場合は、 '.trim()'をパラメータに適用し、クエリが適切に動作しているかどうかを確認してください。期待どおりの結果が得られない場合、入力は基本的にあなたの考えではありません。 –

答えて

0

あなたは流星のヘルパーでこれをやっていると仮定すると、あなたが行うことができます:

myHelper() { 
    return ShareUserLogs.findOne({"_id":shared_id}); 
} 

あなたはおそらくに実行している問題は、あなたがデータをサブスクライブするとき、それはすぐに利用できないということです。したがって、find()はアイテムがゼロのカーソルとして戻ってきているため、fetch()の0番目のアイテムにアクセスするとエラーが発生します。ヘルパーでこれを使用していない場合は、おそらく反応変数と自動実行を使用してデータをロードしたいと思うでしょう。

関連する問題