如何将来自三个集合的数据文档合并为一个集合

时间:2017-02-07 11:12:51

标签: mongodb mongodb-query aggregation-framework

我在MongoDB中有以下三个集合

fd2k10sample
fd2k16sample
fd2ksample

每个文件中的文件结构相同,因此没有结构问题如下:

fd2ksample

id  cat1    cat2     cat3   cat4
1   doza    moza     goza   hoza
2   beta    geta     jeta   leta
3   huggy   muggy    guggy  luggy

fd2k10sample

id cat1     cat2    cat3    cat4
1  prizzy   mizzy   tizzy   hizzy
2  chuta    buta    guta    tuta
3  befer    lefer   gefer   tefer

fd2k16sample

id  cat1   cat2   cat3   cat4
1   poopa  doopa  hoopa  loopa
2   nijjy  pijjy  hijjy  tijjy
3   ufha   puhfa  duhfa  tuhfa

我如何将它们组合起来:

fd2kfullsample

id   cat1  cat2  cat3  cat4
1   doza    moza     goza   hoza
2   beta    geta     jeta   leta
3   huggy   muggy    guggy  luggy
1   poopa  doopa     hoopa  loopa
2   nijjy  pijjy     hijjy  tijjy
3   ufha   puhfa     duhfa  tuhfa
1   poopa  doopa     hoopa  loopa
2   nijjy  pijjy     hijjy  tijjy
3   ufha   puhfa     duhfa  tuhfa

如何使用MongoDB 3.4版中的少量命令来完成此操作?

此解决方案中给出的答案是关于合并数据文档,而我想合并数据文档而不合并它们。 以下不是重复,而是一个完全不同的问题: MongoDB: Combine data from multiple collections into one..how?

1 个答案:

答案 0 :(得分:4)

您可以使用copyTo()

轻松实现此目的

将您的3个集合合并为一个,只需运行以下命令:

db.fd2k10sample.copyTo("fd2kfullsample")
db.fd2k16sample.copyTo("fd2kfullsample")
db.fd2ksample.copyTo("fd2kfullsample")
相关问题