我正在尝试将两个集合合并为一个集合(不加入)。我有两个具有相同集合和集合结构的数据库。
例如:
Collection test1 db1:
{
"_id" : ObjectId("574c339b3644a65b36e77359"),
"appName" : "App1",
"customerId" : "Client1",
"environment" : "PROD",
"methods" : []
}
Collection test2 db2:
{
"_id" : ObjectId("574c367d627b45ef0abc00e5"),
"appName" : "App2",
"customerId" : "Client2",
"environment" : "PROD",
"methods" : []
}
我正在尝试创建以下内容:
一个集合测试数据库,其中的文档将从test1和test2合并,但不能彼此合并。实现这一目标的正确方法是什么?
{
"_id" : ObjectId("574c339b3644a65b36e77359"),
"appName" : "App1",
"customerId" : "Client1",
"environment" : "PROD",
"methods" : []
},
{
"_id" : ObjectId("574c367d627b45ef0abc00e5"),
"appName" : "App2",
"customerId" : "Client2",
"environment" : "PROD",
"methods" : []
}
复杂的是,id在mongo的其他集合中被引用。
最佳答案
最快的方法是创建一个转储(使用mongodump)并立即恢复它们(例如使用windows路径)。
mongodump --db test1 --collection test1 --out c:\dump\test1
mongodump --db test2 --collection test2 --out c:\dump\test2
mongorestore --db test3 --collection test3 c:\dump\test1
mongorestore --db test3 --collection test3 c:\dump\test2
关于mongodb - Concat 2 mongodb系列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38040774/