首页 > mongodb怎么实现两个表之间的数据转移

mongodb怎么实现两个表之间的数据转移

在mongodb中把一个表中的数据转移到另外一个表中应该如何实现呢?求诸位能不吝赐教,在此先谢过了


mongo shell中实现

db.source.find().forEach(function(doc) {
  db.target.insert(doc);
});

或者可以通过mongoexport+mongoimport

mongoexport -h [ip_address] -d [database] -c [collection] > source.json
mongoimport -h [ip_address] -d [database] -c [target] source.json

3.2以后有一个更好玩的特性——管道。所以:

mongoexport -h [ip_address] -d [database] -c [collection] | mongoimport -h [ip_address] -d [database] -c [target]

同一个Mongodb实例下:

use db_source;
var docs = db_source.collection_souce.find();
use db_target;
docs.forEach(function(d){db.collection_target.insert(d)});

不同Mongodb实例之间

可以使用mongodump和mongorestore

备份:

mongodump -h host:port -d db_source -c collection_source

恢复

mongorestore -h host:port -d db_target -c collection_target dump/collection_source.bson

两个工具的详细使用方式可以参考

mongodump — MongoDB Manual 3.2

【热门文章】
【热门文章】