MongoDB聚合管道中如何使用$sortArray对数组排序?
导读:本期聚焦于高永康创作的《MongoDB聚合管道中如何使用$sortArray对数组排序?》,敬请观看详情。MongoDB 5.2开始在聚合管道中提供$sortArray操作符,专门解决数组字段排序问题。它接收一个数组表达式和一个排序规则,返回排序后的新数组,不改动原始文档。排序规则既可以写1表示升序、-1表示降序,也可以针对文档数组指定多个字段的排序方向。相比传统的$unwind加$sort再加$group方案,$sortArray只需一个表达式即可完成排序,管道阶段更少,执行计划更清晰,尤其适合排行榜成绩、标签权重、事件日志等场景。使用时要注意输入必须是数组,空数组会返回空数组,null或非数组值会直接报错,必要时可以配合$isArray和$cond做兜底。本文通过完整示例讲解基础语法、文档数组排序、混合类型处理以及与旧方案的区别。
栏目:MongoDB 时间:10-18 MongoDB聚合管道

