2013-05-17 31 views
3

我對流星很新,所以這個問題聽起來很尷尬。我想,以顯示所有帖子Meteor + MongoDB - 顯示他們的評論數量的職位列表

Posts = new Meteor.Collection('posts'); 

,然後在Meteor.publish列表(「職位」,...)

return Posts.find(); 

,並顯示出一些與每個評論那些帖子。註釋存儲在一個單獨的集合

Comments = new Meteor.Collection('comments') 

我不希望用戶能夠從數據庫中下載的所有意見,只是找出評論計數,每個柱子的 - 我不是在這裏展示它們。所以

Meteor.publish('comments', function(){ 
    return Comments.find(); 
}) 

不是一個選項。

我知道我可以非規範化的數據,並存儲在commentsCount後的文件。但有沒有其他方法可以做到這一點?我希望它是可觀察的 - 或者更確切地說是在更新。我知道如何在顯示單個帖子時做到這一點,但我不知道如何做到這一點。

回答

0

你知道你可以添加參數到你的發佈功能嗎?

你可以有像

Meteor.publish('comments', function(post){ 
    return Comments.find({postId: post._id}); 
}) 

這樣你只有在一個帖子的評論。

希望這是你要找的人

+0

嗨! 謝謝 - 我知道這件事,但不幸的是,這並不能解決我的問題。這是很好的顯示/指望當前顯示的** **單發表評論,但不是如果你顯示所有的職位名單有用... –

+0

你可以改變的參數是樁的陣列,然後選擇with Comments.find({postId:{$ in:posts}}) –

0

如果你只是在尋找的評論數是什麼,我認爲你可以簡單地使用:

{{commentsCount}} 

因此,一個例子是這樣的:

<h1>Post Title</h1> 
<p>{{commentsCount}} comments</p> 

確保在帖子模板中使用它,否則它不會知道它應該計算哪些註釋。

相關問題