📜  MongoDB - 使用聚合展开数组并删除重复项 (1)

📅  最后修改于: 2023-12-03 15:17:41.458000             🧑  作者: Mango

MongoDB - 使用聚合展开数组并删除重复项

在MongoDB中,使用聚合操作可以对数组进行展开并删除重复项。聚合操作是在文档的集合上执行数据处理任务的工具。

以下是使用聚合操作展开数组并删除重复项的代码示例:

db.collection.aggregate([
  {
    $unwind: "$arrayField"
  },
  {
    $group: {
      _id: "$_id",
      uniqueArray: {
        $addToSet: "$arrayField"
      }
    }
  },
  {
    $project: {
      _id: 0,
      uniqueArray: 1
    }
  }
])

代码解释:

  1. 使用 $unwind 操作符展开数组字段 $arrayField。这将创建多个文档,每个文档对应数组中的一个元素。
  2. 使用 $group 操作符按 _id 字段对文档进行分组,并使用 $addToSet 操作符将唯一的数组元素添加到 uniqueArray 数组字段中。
  3. 使用 $project 操作符将结果中的 _id 字段排除,并只返回 uniqueArray 数组字段。

这样,最终的结果将是一个包含唯一数组元素的文档。

请注意,以上代码是使用MongoDB的Shell语法编写的。你可以将其嵌入你的程序中,如果你使用的是不同的编程语言。

希望以上介绍能帮助你在MongoDB中使用聚合操作展开数组并删除重复项!