我有两个集合Conversation
和Message
,每个Conversation
文档都有ObjectId
个文档的Message
s的嵌套数组。我想获取最近的前100个Message
。他们的模式大致是这样
Message = {
body: String
createdAt: Date
}
Conversation = {
messages: [ObjectId]
}
我想将Message
id从最近到最早的顺序存储在该嵌套数组中。
我能想到的一种解决方案是,只需在数组的前面插入新的ObjectId
,以便获得最新的Message
。
或者我应该将对Conversation
文档的引用存储在Conversation
文档字段中,而不是将ID存储在Message
文档中的数组中,并使用它来查找消息并对其进行排序这个
db.messages.find({conversation: convId}).sort({createdAt: -1})
有什么方法可以使用createdAt
文档中的Message
字段来按顺序存储ID?
需要帮助。