3 import com.mongodb.MongoClient; 4 import com.mongodb.MongoClientOptions; 5 import com.mongodb.ServerAddress; 6 import com.mongodb.client.FindIterable; 7 import com.mongodb.client.MongoCollection; 8 import com.mongodb.client.MongoDatabase; 10 public class MongoDBTra { 11 public static void main(String[] args){ 12 // 原表result的数据 13 MongoClientOptions option = MongoClientOptions.builder().connectTimeout(60000 ).build(); 14 MongoClient monGoClient = new MongoClient( new ServerAddress("localhost", 27017 ), option); 15 // 获取操作数据库 16 MongoDatabase db = monGoClient.getDatabase("result" ); 17 // 获取集合。后面的操作,大部分都是基于集合操作 18 MongoCollection<Document> contections = db.getCollection("result" ); 19 System.out.println("MongoDB数据库连接成功" ); 21 // 新建一个集合为data 22 MongoCollection<Document> data = db.getCollection("data" ); 24 // 查询集合中的所有数据 25 FindIterable<Document> result = contections.find(); 26 for (Document document : result) { 27 String ip=document.getString("Ip" ); 28 String time=document.getString("Date" ); 29 String day=document.getString("Day" ); 30 String Traffic=document.getString("Traffic"); // 此处是因为原来的字段Traffic里面都是纯数字,但是数字后面都带上了一个空格,所以后面就将其空格去掉,然后将其转为int类型 31 // 将Traffic里面的空格都去掉,方便转为int字符 32 String str = Traffic.replaceAll(" ", "" ); 33 // 将String类型转为int类型 34 int traffic= Integer.parseInt(str); 35 String type=document.getString("Type" ); 36 String id=document.getString("Id" ); 37 System.out.println(ip+","+time+","+day+","+traffic+","+type+","+ id); 38 // 向集合data里面插入数据(data即为新建的那个集合) 39 data.insertOne( 40 new Document("ip", ip).append("time", time).append("day" , day) 41 .append("traffic",traffic).append("type", type).append("id" , id)); 42 } 43 System.out.println("将result集合中的数据转移到data集合中成功!" ); 44 }