【发布时间】:2021-09-22 17:53:38
【问题描述】:
我通过 last_message_id 字段对记录进行排序和分页,该字段采用 ObjectID(不是时间戳),但如果我们深入研究,它们都是相同的。
问题是如果我们使用时间戳进行分页,有些记录可能会在分页中被忽略,因为时间戳不是唯一的,它们可以重复。
在我的项目中有两个集合,“Rooms”和“Messages”。每当用户发送消息时,消息的关联房间将更新为消息的_id。
我这样做是因为我想向用户显示最近活跃的房间。
问题有解决办法吗?
房间:
| _id | room_name | last_message_id |
|---|---|---|
| x | General | 612a8e6ab075cf9f2b8c6f9d |
| y | Politics | 612a8e6ab075cf9f2b8c6f9e |
消息:
| _id | room_id | text |
|---|---|---|
| 612a8e6ab075cf9f2b8c6f9e | y | ... |
| 612a8e6ab075cf9f2b8c6f9d | x | ... |
【问题讨论】:
-
什么问题,按非唯一字段排序或按您在标题中所说的 objectid/timestamp 排序?
-
@D.SM 我解决了我的问题,谢谢。
标签: mongodb