让我们说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。