【问题标题】:Mongodb $unwind array of arrays in an arrayMongodb $unwind 数组中的数组数组
【发布时间】:2020-05-07 12:17:01
【问题描述】:

MongoDB 驱动程序:4.2.6, 猫鼬:^5.9.6

我想展开关键字属性:

[
 {
    "_id": null,
    "totalNumberOfData": 4,
    "data": [
        {
            "numberOfData": 2,
            "sentiment": "Good",
            "keyword": [
                "A",
                "B",
                "C"
            ]
        }
    ]
  }
]

我试过了,但是没用。

{
    $unwind: {
      path: "$data.keyword",
      preserveNullAndEmptyArrays: true,
    },
  },

如何展开关键字数组?

【问题讨论】:

    标签: mongodb mongoose mongodb-query aggregation-framework


    【解决方案1】:

    一般$unwind 阶段的输入应该是一个数组,因为您正在执行data.keyword 展开,所以需要一个名为data 的字段作为对象,其中嵌套字段名为keyword 作为数组,如:@987654326 @ & 它无法以那种方式找到它,导致一个空数组作为聚合的输出。由于data 也是一个数组,所以您需要先展开它,所以在您的情况下需要双重展开:

    db.collection.aggregate([
      {
        $unwind: {
          path: "$data",
          preserveNullAndEmptyArrays: true
        }
      },
      {
        $unwind: {
          path: "$data.keyword",
          preserveNullAndEmptyArrays: true
        }
      }
    ])
    

    测试: mongoplayground

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多