如何查询按最新活动排序的下一个会话?

问题描述

我正在实现一个像Facebook这样的聊天系统,我有两个表,一个是消息,一个是对话:

conversations
id  |  peoples         | updatedAt
1      [user1,user2]    Today 8:10 PM 
2      [user1,user2]    Today 9:03 PM
3      [user1,user2]    Today 5:01 PM
4      [user1,user2]    Today 5:01 PM
5      [user1,user2]    Today 5:01 PM
6      [user1,user2]    Today 4:01 PM

当用户发送邮件时,我会在当前时间更新updatedAt的字段conversations,以便查询最新的会话,但是这里的问题是如何在查询之后继续查询最新的会话那?例如,首先我将查询两个最近的对话,如您所见,这是返回ID为2 and 1的对话,然后我保存ID为updatedAt的{​​{1}}值(该值为1),因此我可以继续查询条件为Today 8:10 PM的最新会话,并且仅像第一次一样进行2次会话,它将返回ID为{updatedAt: {$lte: Today 8:10 PM}的会话,并保存3,4字段的ID updatedAt(值是4),在相同条件下继续查询:Today 5:01 PM将返回ID为{updatedAt: {$lte: Today 5:01 PM},ID为3,5的对话在我不需要它之前,如何避免这种情况?我使用mongodb作为数据库

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)