【发布时间】:2020-08-20 04:59:16
【问题描述】:
假设在聚合管道中,其中一个步骤会产生以下结果:
{
customer: "WN",
sort_category: "category_a",
locations: [
{
city: "Elkana",
category_a: 11904.0,
category_b: 74.0,
category_c: 657.0,
},
{
city: "Haifa",
category_a: 20.0,
category_b: 841.0,
category_c: 0,
},
{
city" : "Jerusalem",
category_a: 451.0,
category_b: 45.0,
category_c: 712.0,
}
]
}
{
...
}
下一步是对集合中每个文档的嵌套对象列表进行排序。
嵌套对象列表应按包含字段名称的动态参数排序。
例如 - locations 的列表应该按 category_a 的值排序。
category_a 是sort_category 字段中给出的参数。
【问题讨论】:
-
上述情况的主要挑战是集合中的每个文档都可以按不同的字段排序,具体取决于文档顶部出现的参数。
-
我认为 $sort 运算符或任何其他运算符都不可能,可能需要在 v4.4 中使用 $function 创建自己的运算符,您使用哪个平台来执行此查询?前任。节点?你用的是什么版本的mongodb?
-
mongodb 4.2.3版