【问题标题】:How to merge 10 collections (with the same structure) into a single collection?如何将 10 个集合(具有相同结构)合并为一个集合?
【发布时间】:2021-10-29 10:00:44
【问题描述】:

我有 10 个集合(名称为 user_01、user_02、... user_10)。这 10 个集合都具有相同的结构(我从 CSV 文件导入到 MongoDB)。因为每个 CSV 文件的数据太大,所以在导入 MongoDB 时我必须拆分为 10 个不同的文件(data_01.csv、data_02.csv、... data_10.csv)(我如上所述放入了 10 个不同的集合,而不是单个集合)。

但现在我需要将这 10 个集合合并为一个名为“用户”的集合来查询数据。有没有办法将这 10 个集合中的数据迁移到一个名为“用户”的集合中?

每个集合的结构:

{
    "_id" : ObjectId("6119cac0fe31d614997b07f0"),
    "name": "Robert"
    "address" : "36 rue Nationale, Paris, France",
    "sex" : "female",
    "age" : 45,
    "account_activated_date" : 19990101
}

【问题讨论】:

    标签: mongodb mongoose mongodb-query


    【解决方案1】:
    db.collection.user_01.aggregate([
    {
        '$unionWith': {
          'coll': 'user_02'
        }
    },
    {
        '$unionWith': {
          'coll': 'user_03'
        }
    },
    .
    .
    .
    {
        '$unionWith': {
          'coll': 'user_10'
        }
    },
    {
        '$out': 'users' //name of new collection
      }
    ])
    

    使用 unionWith 将来自另一个集合的所有数据添加到当前集合 ddo it for all collection 并使用 out 添加到新集合

    【讨论】:

      猜你喜欢
      • 2011-11-24
      • 2023-03-07
      • 2015-10-20
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多