数据库用的是mongodb,后端用的是koa,用mongoose来连接数据库与后端。
用socket.io做一个聊天webapp,因为我是初始状态获取10条消息,本来设想是根据前端的page来跳过之前发的数据每次返回10条的。然后发的每一条消息都存进数据库。但是之后要获取历史消息的话,因为有新的消息加入数据库了,所以这个时候就不知道从哪里接着初始化的地方继续获取历史消息了
其实就是数据库的数据会动态变化。这种其实这一部分要怎么设计?
数据库用的是mongodb,后端用的是koa,用mongoose来连接数据库与后端。
用socket.io做一个聊天webapp,因为我是初始状态获取10条消息,本来设想是根据前端的page来跳过之前发的数据每次返回10条的。然后发的每一条消息都存进数据库。但是之后要获取历史消息的话,因为有新的消息加入数据库了,所以这个时候就不知道从哪里接着初始化的地方继续获取历史消息了
其实就是数据库的数据会动态变化。这种其实这一部分要怎么设计?
有两种方案:
请求的时候带上前端消息队列中最早消息的时间,返回比这条时间更早的 10 条消息
请求的时候带上前端消息队列中消息的数量,数据库跳过这个消息的数量,返回10条消息
根据时间喽,按前端消息队列中最早消息的时间,返回比这条时间更早的 10 条消息。