2017-07-30 70 views
1

我正在寫一個簡單的查詢來返回用戶內容/帖子。 我還需要顯示每個帖子的評論數量。mongodb返回數組大小/計數在簡單查找查詢而不使用聚合框架

我的文檔結構如下

posts { 
    content: string, 
    comments: [array of object ids] 
    ... 
} 

我知道怎麼去使用聚合函數的意見數組的大小。 我也知道我可以添加「commentsNr」屬性並使用後保存鉤子增加它。 And ...我知道我可以執行查詢....返回posts數組,並使用post.comments.length屬性,但我不想返回整個comments數組來計算它。

我所有的疑問都非常簡單,我不想讓它們變得更加複雜。 所以,即時通訊尋找一種方式來返回評論數組的長度作爲一個新的領域,即使用投影或類似的東西。

有沒有辦法使用簡單的查找查詢來獲取文檔數組的長度,而不返回數組本身?

+0

爲什麼不使用聚合然後$ size? – invisible

+0

我認爲調用聚合框架只是爲了返回像數組長度屬性這樣基本的東西看起來像一個矯枉過正。不必要的複雜程度,性能也有所下降。 如果有一種方法可以在簡單查找查詢中獲取數組的長度,那麼我更喜歡這樣。 ({_ id:some id},{commentsNr:「$ comments.length」)) 或 }}) –

回答

0

我看到你的意圖,但我很抱歉...在集合框架之外的投影中不可能使用$size。儘管聚合選項,但沒有感覺不好!這個框架是如此的神奇,以至於你無論如何都想在某個時候使用它...

相關問題