﻿import java.net.UnknownHostException;
import java.util.Iterator;
import java.util.Set;

import org.junit.Test;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;

public class MongoDBTest {

	@Test
	public void mongoDBConnectionTest(){
		try{
			Mongo m = new Mongo("localhost");
			
			DB db = m.getDB("test");
			
	        // get a list of the collections in this database and print them out
	        Set<String> colls = db.getCollectionNames();
	        for (String s : colls) {
	            System.out.println(s);
	        }
			
	        // get a collection object to work with
	        DBCollection coll = db.getCollection("testCollection");
	        
	        
//			BasicDBObject doc = new BasicDBObject();
//			doc.put("name", "CouchDB");
//			doc.put("type", "NoSQL Database2");
//			doc.put("count", 5);
//			
//			BasicDBObject info = new BasicDBObject();
//			info.put("x", 603);
//			info.put("y", 302);
//			
//			doc.put("info", info);
//			
//			coll.insert(doc);
			
	        System.out.println("Record Count in collection : " + coll.getCount());
	        
			DBObject myDoc = coll.findOne(); //해당 DB에 첫번째 레코드만 리턴
			DBCursor myCur = coll.find();
			
			System.out.println("coll.findOne() : " + myDoc);
			Iterator<DBObject> myCorIterator = myCur.iterator();
			
			while (myCorIterator.hasNext()) {
			   DBObject element = myCorIterator.next();
			   System.out.println("coll.find() : " + element);
		    }
			
	        for(int i=0;i<100;i++){
	        	coll.insert(new BasicDBObject().append("i", 1));
	        }
	        
	        BasicDBObject query = new BasicDBObject();
	        //query.put("i", 1);	        
	        query.put("info.x", 203);	        
	        myCur = coll.find(query);
	       	        
	        while(myCur.hasNext()){
	        	System.out.println(myCur.next());
	        }
		}catch(UnknownHostException e){
			System.out.println("Unknown Host!!");
		}
	}//mongoDbConnectionTest
		
}

