效果就不貼了,直接粘代碼,如下:
1 import org.bson.Document; 2 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; 9 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數據庫連接成功"); 20 21 //新建一個集合為data 22 MongoCollection<Document> data = db.getCollection("data"); 23 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 } 45 }
