mongoDB如何复制collection里的数据到另一个collection方法总结
2016-07-15 15:48
465 查看
mongoDB的可以直接复制数据库,但是对于数据库里的表却没有直接的复制语句。在项目中遇到数据放错collection了情况就很棘手,现在将方法总结如下:
1.利用foreach方法在shell里直接运行
2.在java里操作,代码如下
1.利用foreach方法在shell里直接运行
db.test(复制源表).find().forEach(function(x){ db.target(目的表).insert(x); })
2.在java里操作,代码如下
import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; public class DBtransfer { public static void main(String[] args) { MongoClient client = new MongoClient( "000.00.00.000", XXXXX); //数据库地址 MongoDatabase database = client.getDatabase( "XXX" ); //数据库名 MongoCollection<Document> collection = database .getCollection("XXXX" ); //要转移数据的表名 MongoCollection<Document> collection2 = database .getCollection("XXXX" );//放入的表名 FindIterable<Document> findIterable = collection .find(); //iterator——迭代 MongoCursor<Document> mongoCursor = findIterable .iterator(); //游标 while (mongoCursor .hasNext()){ Document d = mongoCursor .next(); //遍历每一条数据 collection2 .insertOne(d ); // System.out.println( mongoCursor.next() ); } System. out .println("转移成功" ); // System.out.println(collection.find().toString()); } }
相关文章推荐
- 用RockMongo远程管理mongodb
- mongodb
- CentOS6.3搭建Nginx代理访问MongoDB GridFS图片资源
- MongoDB介绍以及安装启动
- mongodb的备份
- mongodb 速成笔记
- mongodb 分片集群切换单个分片副本集primary的正确步骤
- tungsten-replicator问题与解决方法
- mongoDB(2):shell基本操作
- mongoDB(1):windows下安装mongoDB(解压缩版)
- MongoDB查询两个属性不相等
- nodejs+mongodb做项目的详解
- mongodb 数组内容匹配删除方法, $all 用法
- mongodb.conf配置文件详解
- MongoDB监控手段大全
- MongoDB 连接查询 $lookup
- 【待整理】MongoDB 数据集
- linux shell中获取mongodb最大连接数、内存使用情况等
- centos安装mongodb即遇到的问题
- 【荐】MongoDB基本命令大全