我想使用Mongoid运行此查询:
db.users.find().sort({'users.roles.name':1})
Mongoid会是什么样子?或者也许有一种简单的方法让Mongoid只执行自定义查询?
答案 0 :(得分:5)
首先,您可以回答一个简单的问题:如何按数组对文档进行排序?是的,我也不知道..
我认为您可以使用位置运算符按特定角色排序:
db.users.find().sort({'roles.0.name':1})
但是我不确定并且不能正确地测试它并且它不完全是你所需要的。无论如何,你可以测试并返回结果,否则我明天就会弄明白。
答案 1 :(得分:4)
User.asc("roles.name")
应该为你做。
答案 2 :(得分:1)
这将有效:
db.users.find().sort("{\"roles\":{\"name\":1}}");