Mongodb Atlas 图表 - 在不同列中显示分组计数

Mongodb Atlas Charts - Show grouped count in different columns

我的数据库中有一组“ofertas”,数据具有以下结构:

{
    "_id" : ObjectId("6057a995e5a26c119d254f35"),
    "empresa" : {
        "direccion" : {
            "direccion" : "concepcion arenal",
            "cp" : "36950",
            "provincia" : "pontevedra",
            "poblacion" : "Moaña",
            "pais" : "espana"
        },
        "nombre" : "caru sl"
    },
    "nombre_oferta" : "Offer Name",
    "referencia_interna" : "111222",
    "fecha_publicacion" : ISODate("2021-03-21T23:00:00.000Z"),
    "fecha_caducidad" : ISODate("2021-04-19T22:00:00.000Z"),
    "descripcion" : "Offer description",
    "estado" : "caducada",
    "pagada" : true,
    "userId" : "XXX",
    "candidatos" : [],
    "createdAt" : ISODate("2021-03-21T20:16:21.438Z"),
    "updatedAt" : ISODate("2021-04-20T22:08:14.221Z"),
    "__v" : 0
}

我有这个 MongoDB 查询:

[
    { $sortByCount: "$empresa.nombre" },
    {$group: {
         _id: 0,
         empresas_ofertas:{$push: {
             empresa:"$_id",
             ofertas:"$count",
         }},
    }},
    { $unwind: "$empresas_ofertas"}
]

将“ofertas”的数量分组,如下所示:

我想在 MongoDB Atlas 图表中将数据显示为单独的列,其中包含“empresas_ofertas”数组中每个对象的“ofertas”计数,但图表只显示一列与“ofertas”的总量:

我将 Y 轴聚合从 SUM 更改为 COUNT BY VALUE,但它将数据与具有相同“ofertas”数量的项目分组。我想要做的是用 ofertas 的计数显示“empresas_ofertas”数组中的所有对象:第一列应该是 60(IXAS Value SL),第二列应该是 53(caru sl)。 ..

我做错了什么?

第 1 步 - 创建查询

你的查询很好。它将 return 创建请求图表所需的数据。我测试了它,你会得到这种格式的响应数据:

[
  {
    "_id": 0,
    "empresas_ofertas": {
      "empresa": "caru sl 2",
      "ofertas": 2
    }
  },
  {
    "_id": 0,
    "empresas_ofertas": {
      "empresa": "caru sl 1",
      "ofertas": 1
    }
  }
]

这是工作示例:https://mongoplayground.net/p/Gpn9trcgfsK

第 2 步 - 定义轴

正如您在图片中看到的那样,在左侧菜单列表中,您有 _id 字段和 empresas_ofertas 对象字段以及嵌套的 empresaofertas 字段.这是从查询中 return 得到的数据结构。

在该列表的右侧,有一个部分您应该根据可用数据定义 X AxisY Axis_idempresas_ofertas.empresaempresas_ofertas.ofertas).请注意,现在您根本没有指定 X Axis,如图所示。

您所要做的就是将 empresa 嵌套字段拖放到 X Axis,并将 ofertas 拖放到 Y Axis。这将显示您请求的图表。