프로그래밍/mongDB (몽고디비)

[ mongoDB (몽고디비) ] Java로 MongoDB insert, find, 조건 find 하기

Yanoo 2020. 5. 26. 21:24
728x90
반응형
  • 코드
package mongoServer;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;

import org.bson.Document;

import com.mongodb.Block;
import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;

public class Mongomain {

	public static void main(String[] args) {
		String MongoDB_IP="127.0.0.1";
		int MongoDB_PORT=27017;
		String DB_NAME="testDB";
		
		//Connect to MongoDB
		MongoClient mongoClient=new MongoClient(new ServerAddress(MongoDB_IP, MongoDB_PORT));
		
		//View Database List
		List<String> databases=mongoClient.getDatabaseNames();
		
		System.out.println("====Database List======");
		int num=1;
		for(String dbName:databases) {
			System.out.println(num+". "+dbName);
			num++;
		}
		
		System.out.println();
		
		//Connect Database and Show Collection List in Database
		DB db=mongoClient.getDB(DB_NAME);
		Set<String> collections=db.getCollectionNames();
		
		System.out.println("Database: "+DB_NAME);
		for(String colName:collections) {
			System.out.println("+Collection: "+colName);
		}
		
		MongoDatabase database=mongoClient.getDatabase(DB_NAME);
		MongoCollection<Document> collection=database.getCollection("speechData");
		
		// mongoDB insert
		/*Document doc=new Document("name","MongoDB");
		collection.insertOne(doc);*/
		
		// mongoDB find
		/*MongoCursor<Document> cursor=collection.find().iterator();
		try {
			while(cursor.hasNext()) {
				System.out.println(cursor.next().toJson());
			}
		}finally {
			cursor.close();
		}*/
		
		// collection의 첫번째 출력
		Document myDoc=collection.find().first();
		System.out.println(myDoc.toJson());
		
		System.out.println("========================================");
		
		// Filter 적용해서 출력하기 밑은 speech가 "안녕"인 것만 출력하기
		Filters filters = null;
		Block<Document> printBlock=new Block<Document>() {
			
			@Override
			public void apply(Document document) {
				
				System.out.println(document.toJson());
				
			}
		};
		
		collection.find(filters.eq("speech","안녕")).forEach(printBlock);
		
	}
	
}
  • 출력화면

728x90
반응형