微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

需要帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。