MongoDB/Mongoid:按引用文档排序';身份证

MongoDB/Mongoid:按引用文档排序';身份证,mongodb,sorting,mongoid,Mongodb,Sorting,Mongoid,我在Mongoid上有两门课:主题和帖子。主题引用了许多帖子 我想按帖子的id降序排列主题,以便最新的帖子位于顶部 @topics = Topic.order_by(:last_message.created_at.desc) 这显然行不通 有什么方法可以做到这一点吗?更好的方法是在主题中创建额外的字段“LastMessageCreated”,并在每次发布后保存发布日期,而不是通过“LastMessageCreated”订购主题 这个怎么样 @topics = Topic.desc('post

我在Mongoid上有两门课:主题和帖子。主题引用了许多帖子

我想按帖子的id降序排列主题,以便最新的帖子位于顶部

@topics = Topic.order_by(:last_message.created_at.desc)
这显然行不通


有什么方法可以做到这一点吗?

更好的方法是在主题中创建额外的字段“LastMessageCreated”,并在每次发布后保存发布日期,而不是通过“LastMessageCreated”订购主题

这个怎么样

@topics = Topic.desc('posts.created_at')


Topic.all(sort:[[:created_at,:desc]])

是的,我也考虑过。通常情况下,有额外的字段用于筛选、排序和搜索。这不起作用。这就是它的翻译:find({“topic_id”=>BSON::ObjectId('…')},{})
@topics = Topic.order_by('posts.created_at',:desc)