2016-12-05 5 views
0

これはかなりよく質問されているようです。しかし、それは正式な回答を返さない(または私の語彙はそれほどわかりません)、あるいは回答がうまくいかないと思います。MongoDBからサブアレイデータを取得する流星

これは、MongoDBのレコード、私は現在、単一のレコードとの質問と呼ばれるコレクションで遊んでいたレコードのサブアレイを通じて基本的な反復である:

{ 
    "_id" : ObjectId("1"), 
    "question" : "question 1", 
    "answers" : { 
     "answer1" : "answer 1", 
     "answer2" : "answer 2" 
    } 
} 

マイヘルパーは以下の通りである:

Template.testquiz.helpers({ 
    questions: function() { 
     return questions.find({}); 
    }, 
}); 

その後、我々はお金のショットがあります:私はQUを得ることができます

<template name="testquiz"> 
    {{#each questions}} 
     {{question}} 
     <br /><br /> 
     {{#each answers}} 
      {{this}} 
     {{/each}} 
    {{/each}} 
</template> 

をエスピオンが表示されますが、オブジェクト "回答"の上にネストされたそれぞれをどのように実行しようとしたかのすべてのバリエーションがエラーになります:this.answers、これに答え、questions.answers、ネストされたそれぞれを独自のテンプレートと呼び出しそれを1時間続けます。私の感想は、これが最初から真実の一部を見落とした標準的な機能だということです。

回答は常に高く評価されますが、これが書かなくてもいいと思うのであれば、私はそれを調べます。

答えて

0

あなたは配列を持たず、サブオブジェクトを持っています。あなたがそれを行うヘルパーを作らない限り、オブジェクトはイテラブルではありません。

あなたは変更する必要があります。

{ 
    "_id" : ObjectId("1"), 
    "question" : "question 1", 
    "answers" : { 
     "answer1" : "answer 1", 
     "answer2" : "answer 2" 
    } 
} 

をする:

{ 
    "_id" : ObjectId("1"), 
    "question" : "question 1", 
    "answers" : [ 
     "answer 1", 
     "answer 2" 
    ] 
} 

次に、あなたのテンプレートが動作します。

+0

ありがとうございます。私は行って、その違いを読んでみましょう。答えをありがとう。 – ashcanschool

関連する問題