如何在数组mongodb下的子文档中使用日期字符串对数据进行分组

姆兹帕拉查

我的文档有这种结构

_id: "adklkj389723jk23KLJjl2LU92kJO387"
"impressions": [{
    "_id": ObjectId("5b74799535f2722494075981"),
    "country": "GB",
    "impression_count": 22,
    "_campaignid": ObjectId("5b72d78847db422040ee60cf"),
    "date": ISODate("2018-08-15T19:00:00Z")
  },
  {
    "_id": ObjectId("5b74799d35f2722494075982"),
    "country": "GB",
    "impression_count": 22,
    "_campaignid": ObjectId("5b72d7bf47db422040ee60d1"),
    "date": ISODate("2018-08-15T19:00:00Z")
  },
  {
    "_id": ObjectId("5b7479a735f2722494075983"),
    "country": "GB",
    "impression_count": 20,
    "_campaignid": ObjectId("5b72d79e47db422040ee60d0"),
    "date": ISODate("2018-08-15T19:00:00Z")
  }
]

我想要做什么我想将印象与创建日期分组在一起,我将日期保存为 db 中的字符串来执行此操作我正在使用此查询

db.advertisers.aggregate([{
  $group: {
    _id: "$impressions.date",
    count: {
      $sum: "$impressions.impression_count"
    }
  }
}]).pretty()

结果

这个查询给了我这样的结果,我做错了什么?

{
  "_id": [
    ISODate("2018-08-15T19:00:00Z"),
    ISODate("2018-08-15T19:00:00Z"),
    ISODate("2018-08-15T19:00:00Z")
  ],
  "count": 1
}
阿克里昂

既然你正在处理一个数组,你可能想unwindimpressions

db.collection.aggregate([
  {
    "$unwind": "$impressions"
  },
  {
    $group: {
      _id: "$impressions.date",
      count: {
        $sum: "$impressions.impression_count"
      },

    }
  }
])

这会给你:

[
  {
    "_id": ISODate("2018-08-15T19:00:00Z"),
    "count": 64
  }
]

你可以在这里看到这个

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在SwiftUI中使用本地化字符串对数组进行排序

如何在PHP中使用逗号分隔的字符串对数组进行排序?

如何在jquery中使用字符串数组对数字进行排序

如何在数组中使用字符串?

如何在给定未知格式字符串的情况下对数组进行sprintf?

如何使用reactjs通过字符串,数字和日期属性对数组进行排序?

MongoDB聚合管道:如何在数组中比较字符串和日期

在数据框中使用日期字符串

如何在C#中使用mongodb查询基于CreatedUtc日期对数据进行排序?

如何使用mongodb对数据进行分组?

通过子字符串JavaScript对数组的元素进行分组

如何在php中使用数组对数据进行排序?

根据字符串值对数组项进行分组

按键中的字符串对数组值进行分组?

如何使用日期对数组进行排序(类型“字符串”不可分配给类型“日期”。)

对数据进行分组后在数据框中查找空字符串时出错

用字符串对数据框的值进行分组

如何在数组中(在Powershell中)使用数字字符串进行操作?

如何在Google表格中使用SQL查询按子字符串分组

MongoDB:如何在不指定数组索引的任何字段的子文档中查找包含字符串的文档?

如何在文档中使用正则表达式对字符串进行完全匹配

如何按日期对数组数据进行分组

我如何在数据框中使用默认字符串更改无效的字符串模式?

如何在数据框中使用字符串替换来结束

如何在Swift中按日期对数组进行分组?

如何在 Robo3T 中的文档中使用数组更新字符串?

如何在 R 中使用正则表达式对数据帧中的字符串进行索引和 gsub

使用给定的字符串在python中对数据框进行排序或分组

如何在数据框列中删除字符串的子字符串?