【发布时间】:2011-03-01 16:43:20
【问题描述】:
我想使用 Mongoid 运行这个查询:
db.users.find().sort({'users.roles.name':1})
在 Mongoid 中会是什么样子?或者也许有一种简单的方法让 Mongoid 只执行该自定义查询?
【问题讨论】:
我想使用 Mongoid 运行这个查询:
db.users.find().sort({'users.roles.name':1})
在 Mongoid 中会是什么样子?或者也许有一种简单的方法让 Mongoid 只执行该自定义查询?
【问题讨论】:
首先你能回答一个简单的问题:如何按数组对文档进行排序?是的,我也不知道。。
我想您可以使用位置运算符按特定角色排序:
db.users.find().sort({'roles.0.name':1})
但我不确定,也不能正确地测试它,而且 mb 这不是你所需要的。无论如何,您可以测试并返回结果,否则我明天会弄清楚。
【讨论】:
User.asc("roles.name") 应该为你做。
【讨论】:
这将起作用:
db.users.find().sort("{\"roles\":{\"name\":1}}");
【讨论】: