gpt4 book ai didi

MongoDB 聚合文档

转载 作者:可可西里 更新时间:2023-11-01 09:54:38 27 4
gpt4 key购买 nike

<分区>

假设我们有一个包含如下文档的集合

{_id:1, name:'a', category:'c1', count:1}
{_id:2, name:'b', category:'c1', count:3}
{_id:3, name:'c', category:'c1', count:5}
{_id:4, name:'d', category:'c2', count:2}
{_id:5, name:'e', category:'c2', count:3}
{_id:6, name:'f', category:'c2', count:6}
{_id:7, name:'g', category:'c2', count:7}

我正在尝试构建某种“聚合”管道

  1. 按类别对文档进行分组
  2. 对于每个类别,按降序返回前 2 个文档

所以在这种情况下,预期的结果应该是这样的

[
{_id:'c1: docs:[
{_id:3, name:'c', category:'c1', count:5},
{_id:2, name:'b', category:'c1', count:3}
]},
{_id:'c2: docs:[
{_id:7, name:'g', category:'c2', count:7},
{_id:6, name:'f', category:'c2', count:6}
]},
]

目前,我采取多个步骤来产生结果

  1. 确定类别列表
  2. 重复 find {category:x}, {sort:[['count', 'desc']], limit:2} 命令
  3. 将结果合并到一个公共(public)数组中

有没有办法以“聚合”方式实现?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com