按其创建日期对MongoDB文档嵌套数组中的ObjectID进行排序?

时间:2020-10-07 06:40:35

标签: mongodb nosql aggregation-framework

我有两个集合ConversationMessage,每个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?

需要帮助。

0 个答案:

没有答案