2016-12-05 52 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({}); 
    }, 
}); 

那麼我們有沒有錢拍:

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

我可以得到曲estion出現,但我試圖在對象「答案」上運行嵌套的所有變體都會導致一個錯誤:this.answers,回答這個問題,questions.answers,將每個嵌套放入它自己的模板中並調用等等,持續一個小時。我的直覺是,這是標準功能,我從一開始就忽視了一些事實。

答案總是讚賞,但如果這是一個沒有腦子的指向我的文件,我會查找它。

回答

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