如何在MongoDB中计算数组重复元素

Anji

MongoDB中的数据具有以下准备聚合功能1

{"_id" : { "monthDate":"04-03-2020"}, "Job" : [ "Designer","Tester","Designer"]} 
{"_id" : { "monthDate":"14-03-2020"}, "Job" : [ "Designer","Tester","Tester"]} 
{"_id" : { "monthDate":"24-03-2020"}, "Job" : [ "Developer","Manager"]} 
{"_id" : { "monthDate":"25-03-2020"}, "Job" : [ "Developer","Developer","Developer"]} 

我需要以下输出

{"_id" : { "monthDate":"04-03-2020"}, "Job" : [ "Designer":2,"Tester":1]} 
{"_id" : { "monthDate":"14-03-2020"}, "Job" : [ "Designer":1,"Tester":2]} 
{"_id" : { "monthDate":"24-03-2020"}, "Job" : [ "Developer":1,"Manager":1]} 
{"_id" : { "monthDate":"25-03-2020"}, "Job" : [ "Developer":3]} 
土生的

你可以试试,

  • $setUnionJob数组中获得唯一的数组
  • $map 从上述操作迭代唯一数组的循环
  • $filter从主Job数组中获取匹配标签,$size从过滤器中获取匹配标签总数
  • $arrayToObject 将k(key)和v(value)格式转换为对象格式
db.collection.aggregate([
  {
    $addFields: {
      Job: {
        $arrayToObject: {
          $map: {
            input: { $setUnion: "$Job" },
            as: "j",
            in: {
              k: "$$j",
              v: {
                $size: {
                  $filter: {
                    input: "$Job",
                    cond: { $eq: ["$$this", "$$j"] }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
])

操场

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何计算数组的元素?

来自分类Dev

如何计算最大重复元素数?

来自分类Dev

如何计算数组中元素的出现?

来自分类Dev

如何在php中计算重复的数组值?

来自分类Dev

对列表数组进行排序并计算重复元素-R

来自分类Dev

如何在mongodb中计算集合中的特定元素

来自分类Dev

数组推送,重复元素

来自分类Dev

如何在Excel中计算数组的平均斜率?

来自分类Dev

如何在Ruby中的重复元素上拆分数组

来自分类Dev

如何在数组颤振中找到重复元素的长度?

来自分类Dev

如何在MongoDB中计算数组重复元素

来自分类Dev

在Python中计算数组的元素

来自分类Dev

如何在mongo中计算数组元素

来自分类Dev

如何在python中计算数组的绝对值?

来自分类Dev

计算数组的元素

来自分类Dev

如何使用R计算向量中的重复元素

来自分类Dev

如何在PHP中计算数组所有值的MD5

来自分类Dev

如何在Python中的数组中重复元素?

来自分类Dev

如何在Ansible中计算数组中的元素数量?

来自分类Dev

如何在Java中计算数组中的第一个重复值

来自分类Dev

如何计算数组中的重复项

来自分类Dev

如何在Matlab中计算jacobi迭代的运算数

来自分类Dev

如何在预处理时间中计算数组大小?

来自分类Dev

如何在JavaScript中计算数组中的最大重复值

来自分类Dev

如何在多维数组PHP中计算数据

来自分类Dev

如何在PHP中合并此数组的重复元素?

来自分类Dev

如何计算数组中的元素数?

来自分类Dev

如何计算数组的“假”元素

来自分类Dev

如何使用XSLT 1.0计算重复元素的总和