将数据以及一些新字段从一个集合迁移到mongodb中具有不同文档结构的多个集合

时间:2019-01-22 15:53:14

标签: mongodb mongoose mongodb-query aggregation-framework data-migration

让我们说mongodb中有 users 个用户集合,其中包含数百万个文档。它具有实时数据。用户集合中的文档具有特定于用户,订单和产品的数据。现在有3个新的集合客户,订单和产品。要求是将用户集中存在的用户,订单,产品的特定数据移动到分别命名为客户,订单和产品集合的三个单独的集合。

用户集合中的文档如下:

{
  "_id": ObjectId("5c46b1ffb24b455dbe97c6e7"),
  "customerId": "ecf178",
  "name": "John",
  "contact": "johnsmith@gmail.com",
  "country": "USA",
  "orders": [
    {
      "orderID": "2761105175647575",
      "orderDate": "2018-04-24",
      "shippedDate": "2018-04-24",
      "discount": 200,
      "price": 1200
    }
  ],
  "products": [
    {
      "productId": "2761105175647575",
      "unitPrice": 1400,
      "productName": "FAN",

    }
  ]
}

现在,我必须将customerId,姓名,联系方式字段移到“ 消费者”集合中。

在用户集合文档中的订单下显示的数据必须移至订单集合。 同样,用户集合文档中产品下的数据也必须移至产品集合。

有人可以建议将实时数据从一个集合迁移到三个新集合的最佳方法。在迁移数据时,我们必须注意,用户集合中的新传入数据也应进行迁移。同样,在迁移时,还有一些新字段(例如uniqueId)将是系统生成的UUID值,也需要添加到新集合中。这些新字段不存在于现有用户集合中。

我也愿意使用市场上任何可以为我完成这项工作的实用程序。

注意:此处,源和目标数据源仅是mongodb。

0 个答案:

没有答案