我對談話的集合:MongoDB - 從每個對話中獲取1條最後一條消息?
{_id: ..., from: userA, to: userB, message: "Hello!", datetime: ...}
我想告訴用戶的對話的預覽 - 從當前用戶和其他用戶之間的每個會話中的最後消息。因此,當用戶點擊某個「最後一條消息」時,他會轉到下一頁,其中包含他與該用戶之間的所有消息。
如何在沒有Map/Reduce的情況下執行此操作(從每個對話中獲取最後一條消息)?
1)使用「distinct」命令? (怎麼樣?)
2)爲最後一條消息設置「last」標誌?我認爲這不是很安全......
3)..?
神似:HTTP://計算器。 com/questions/6498506/mongodb-select-the-top-n-rows-from-each-group – Thilo 2012-03-25 11:20:58
謝謝,但我已經閱讀過了。我認爲這對我而言並不是非常有效,因爲我的系統會有成千上萬條消息,我認爲每次用戶添加消息時都會對數千個文檔進行更新並不好(因爲它建議$ inc「年齡「字段在所有相關的文檔)。 – oyatek 2012-03-25 11:29:12