如何在数组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条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Perl中使用逗号或点对字符串进行排序以对数组进行排序

来自分类Dev

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

来自分类Dev

如何在mongodb中使用ObjectId更新对象数组中的字符串数组?

来自分类Dev

如何在oracle中使用子字符串读取YYYYMM格式的日期值

来自分类Dev

如何在mysql中使用子字符串而不是完整字符串进行搜索?

来自分类Dev

如何在mysql中使用子字符串而不是完整字符串进行搜索?

来自分类Dev

在jQuery中使用整数字符串类型对数组进行排序

来自分类Dev

如何在swift 3中使用数组和字符串进行json

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

    在Perl中使用逗号或点对字符串进行排序以对数组进行排序

  23. 23

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

  24. 24

    如何在mongodb中使用ObjectId更新对象数组中的字符串数组?

  25. 25

    如何在oracle中使用子字符串读取YYYYMM格式的日期值

  26. 26

    如何在mysql中使用子字符串而不是完整字符串进行搜索?

  27. 27

    如何在mysql中使用子字符串而不是完整字符串进行搜索?

  28. 28

    在jQuery中使用整数字符串类型对数组进行排序

  29. 29

    如何在swift 3中使用数组和字符串进行json

热门标签

归档