MongoDB的聚集我有2個類別:爲不同的值
用戶
{
_id: 'user_id1',
username: 'user1',
}
{
_id: 'user_id2',
username: 'user2',
}
{
_id: 'user_id3',
username: 'user3',
}
收件箱
{
_id: 'inbox_id1',
from: {_id: 'user_id1', username: 'user1'},
to: {_id: 'user_id2', username: 'user2'},
text: 'Hello there',
timestamp: new Date(),
}
{
_id: 'inbox_id2',
from: {_id: 'user_id1', username: 'user1'},
to: {_id: 'user_id2', username: 'user2'},
text: 'Trying again...',
timestamp: new Date(),
}
{
_id: 'inbox_id3',
from: {_id: 'user_id3', username: 'user3'},
to: {_id: 'user_id2', username: 'user2'},
text: 'You there?',
timestamp: new Date(),
}
每當用戶進入他的收件箱,我想向他展示線程列表,其中應該包含一個lat列表est來自每個用戶的消息。所以基本上我想獲得截然不同的文檔(基於from._id
字段),並且只有最新的文檔(基於timestamp
字段)。
所以我的結果user2
應該只包括2個文件(inbox_id2
和inbox_id3
)。
我知道我需要爲它使用聚合,但不知道具體如何。
什麼是你的MongoDB服務器的版本? – styvane
最新的 - 3.2 –