【发布时间】:2018-07-10 11:36:58
【问题描述】:
我正在处理一个项目,但我发现一个我不理解且不起作用的请求。我们的文档如下所示:
{
"id": ObjectId("6457959757555445"),
"buyer" : {
"id": ObjectId("588888815654684")
"roles" : [
"BUYER"
]
}
},
{
"id": ObjectId("6457959707555445"),
"buyer" : {
"id": ObjectId("588800015654684")
"roles" : [
"ADMIN"
]
}
}
还有一个请求应该按角色对这些文档的集合进行排序。所以对于上面的例子,我将有ADMIN 然后是BUYER。所以这是请求:
{
"aggregate":"__collection__",
"pipeline":[
{
"$sort":{
"buyer.roles":1
}
},
}
我们真的应该在这里使用pipeline吗?为什么它不起作用?
【问题讨论】:
-
嗨。你能更好地解释一下你想要得到什么吗?角色是一个数组。如何按数组排序?
-
嗨。是的,这就是我想做的。
-
您是否需要按角色名称排序,即“ADMIN”在前,“BUYER”在后?
-
@AnthonyWinzlet 是的
-
如果 "roles" : [ "ADMIN", "BUYER" ] 呢?
标签: mongodb sorting mongodb-query aggregation-framework