温馨提示×

mongodb行列转换的方法是什么

小亿
122
2023-11-18 14:05:52
栏目: 云计算

在MongoDB中,可以使用聚合管道操作来进行行列转换。以下是一种常见的方法:

  1. 使用$group操作按照需要转换的列进行分组,将每个列的值数组保存起来。
  2. 使用$project操作将每个列的数组通过$arrayToObject转换为键值对的形式,其中键为列名,值为列的值。
  3. 使用$replaceRoot操作将每个键值对转换为顶层字段。

以下是一个示例:

db.collection.aggregate([
  {
    $group: {
      _id: null,
      column1: { $push: "$column1" },
      column2: { $push: "$column2" },
      // 添加需要转换的其他列
    }
  },
  {
    $project: {
      _id: 0,
      convertedColumns: {
        $arrayToObject: [
          {
            k: "column1",
            v: "$column1"
          },
          {
            k: "column2",
            v: "$column2"
          },
          // 添加其他列的键值对
        ]
      }
    }
  },
  {
    $replaceRoot: {
      newRoot: "$convertedColumns"
    }
  }
])

注意替换collection为你要操作的集合名称,column1column2等为你要转换的列名。

0