将 Mongo Db 数组拆分为多个文档

问题描述 投票:0回答:1

我的收藏中有以下文档

{
  "_id": "12345",
  "Products": [
    "Product1",
    "Product2"
  ],
  "State": "active",
}

如何根据数组投影到多个文档中?所需的输出应该是这样的

{
  "_id": "12345",
  "Product": "Product1",
  "State": "active",
}

{
  "_id": "12345",
  "Product": "Product2",
  "State": "active",
}
arrays mongodb projection
1个回答
0
投票
  1. $unwind
    - 将
    Products
    数组解构为多个文档。

  2. $set
    - 使用
    Product
    设置
    Products
    字段并删除
    Products
    字段。

db.collection.aggregate([
  {
    $unwind: "$Products"
  },
  {
    $set: {
      Product: "$Products",
      Products: "$$REMOVE"
    }
  }
])

演示@Mongo Playground

© www.soinside.com 2019 - 2024. All rights reserved.