2014-02-11 3 views
0

здесь моя коллекцияметеор перебирать массив

Ques_Coll.insert({question: quest,owner:u_name,comments:[]}); 

После пользователь вводит комментарий, коллекция будет обновляться, как этот

Ques_Coll.update({_id:this._id},{$push:{comments:{uname:"xxx",cmt_text:"xxx"}}}); 

До этого работал отлично

Теперь, я хочу итерацию через все комментарии и хотите их отобразить

как это сделать?

это, как я пытался и не работает

{{#each all_comments.comments}} 
<li>{{uname}}</li> 
<li>{{cmt_text}}</li> 
{{/each}} 

это мой шаблон // я думаю, что моя проблема заключается в этом возвращающей значение

all_comments:function() 
{ 
    return Ques_Coll.find({_id:this._id},{fields: {'comments': 1}}) 
} 

ответ

2

Использование findOne вместо:

Ques_Coll.findOne({_id:this._id},{fields: {'comments': 1}}) 

Вы используете find, когда вы ищете более одного вопроса для соответствуют критериям. Но так как вы ищете один (тот, у кого есть комментарии), вместо этого вы используете findOne.

+0

'{{#each}} принимает только массивы, курсоры или значения false. Вы передали: [object Object] ', показывая эту ошибку – Sasikanth

+0

, если мы используем команду' findOne', как перебирать массив комментариев – Sasikanth

+0

Так же, как вы делаете это сейчас, потому что ваши комментарии хранятся в документе вопросов в 'comments'. – Akshat

Смежные вопросы