小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《能否对MongoDB查询结果中每个文档的特定字段进行排序?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
问题内容我不是在谈论如何对 result
进行排序。我知道!
这是 result
中我想要按特定顺序排序的字段之一。
假设我们有一个由 mgo 查询返回的 result := []a{}
:
type A struct {
I string
II []B
}
type B struct {
X string
XX int
}
在 result
中,我希望每个 result[i].ii
按 b.xx 排序
我要问的是,我可以通过 mgo 完成这种排序吗?还是我必须在 result
上循环并对 a.ii
进行自我切片排序?
解决方案
有一种方法可以使用聚合引擎来做到这一点。
- $匹配您想要的文档
- $投影您想要的字段
- $展开切片
- $使用 id 和展开值作为排序键对展开切片进行排序
- $将已排序的切片元素分组在一起
理论要掌握,实操不能落!以上关于《能否对MongoDB查询结果中每个文档的特定字段进行排序?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!