맵리듀스 두번째

맵리듀스 두번째

1. 몽고디비 인서트

public static void main(String[] args) {
  // TODO Auto-generated method stub
  try{
   MongoClient mc=new MongoClient(“localhost”);
   DB db=mc.getDB(“test”);
   DBCollection dbc=db.getCollection(“person”);
   BasicDBObject obj=new BasicDBObject();
   obj.put(“name”, “일”);
   obj.put(“sex”, “m”);
   obj.put(“age”, 20);
   dbc.insert(obj);
   
   obj=new BasicDBObject();
   obj.put(“name”, “이”);
   obj.put(“sex”, “m”);
   obj.put(“age”, 30);
   dbc.insert(obj);
   
   obj=new BasicDBObject();
   obj.put(“name”, “삼”);
   obj.put(“sex”, “w”);
   obj.put(“age”, 20);
   dbc.insert(obj);
   
   obj=new BasicDBObject();
   obj.put(“name”, “사”);
   obj.put(“sex”, “m”);
   obj.put(“age”, 40);
   dbc.insert(obj);
   
   obj=new BasicDBObject();
   obj.put(“name”, “오”);
   obj.put(“sex”, “m”);
   obj.put(“age”, 30);
   dbc.insert(obj);
   
  }catch(Exception ex){System.out.println(ex.getMessage());}
 }

2. 몽고디비 셀렉트

public static void main(String[] args) {
  // TODO Auto-generated method stub
  try{
   MongoClient mc=new MongoClient(“localhost”);
   DB db=mc.getDB(“test”);
   DBCollection dbc=db.getCollection(“person”);

   DBCursor cursor=null;
   BasicDBObject query=null;
   
   cursor=dbc.find();
   System.out.println(“1.COUNT…”);
   System.out.println(“result:”+cursor.count());
   while(cursor.hasNext()){
    System.out.println(cursor.next());
   }
   cursor.close();
   
  }catch(Exception ex){System.out.println(ex.getMessage());}
 }

3. 비교연산자로 find

(몽고디비의 SELECT WHERE)

find({“age”,20}); 하면

여기에 조건을 줄 수 있다.

$gt (크다)

$gte (크거나 같다)

$lte (작거나 가다)

$lt (작다)

$ne (이콜이 아니다) (eq는 없다. 그냥 쓰는게 eq다)

public static void main(String[] args) {
  // TODO Auto-generated method stub
  try{
   MongoClient mc=new MongoClient(“localhost”);
   DB db=mc.getDB(“test”);
   DBCollection dbc=db.getCollection(“person”);

   DBCursor cursor=null;
   BasicDBObject query=null;
   
   cursor=dbc.find();
   System.out.println(“1.COUNT…”);
   System.out.println(“result:”+cursor.count());
   
   
   System.out.println(“================”);
   
   String[] op={“$gt”,”$lt”,”$lte”,”$gte”,”$ne”};
   for(String str:op){
    query=new BasicDBObject(“age”,new BasicDBObject(str,20));
    cursor=dbc.find(query);
    
    System.out.println(“비교연산자: 값 “+str+” “+20);
    System.out.println(“Result: “+cursor.count());
    while(cursor.hasNext()){
     System.out.println(cursor.next());
    }
    cursor.close();
   }
   
  }catch(Exception ex){System.out.println(ex.getMessage());}
 }

4. 패턴으로 find (많은 의문이 남아있음.)

public static void main(String[] args) {
  // TODO Auto-generated method stub
  try{
   MongoClient mc=new MongoClient(“localhost”);
   DB db=mc.getDB(“test”);
   DBCollection dbc=db.getCollection(“person”);

   DBCursor cursor=null;
   BasicDBObject query=null;
   
   cursor=dbc.find();
   System.out.println(“전체 갯수:”+cursor.count());
   System.out.println(“================”);

   System.out.println();
   Pattern j=Pattern.compile(“일”,Pattern.CASE_INSENSITIVE);
   query=new BasicDBObject(“name”,j);
   BasicDBObject keys=new BasicDBObject();//조건 세 개 and로 묶기?????????????????
   cursor=dbc.find(query,keys);
   System.out.println(“result: “+cursor.count());

   while(cursor.hasNext()){
       System.out.println(cursor.next());
   }
   cursor.close();
   
  }catch(Exception ex){System.out.println(ex.getMessage());}
 }

5. $in 과 $nin

public static void main(String[] args) {
  // TODO Auto-generated method stub
  try{
   MongoClient mc=new MongoClient(“localhost”);
   DB db=mc.getDB(“test”);
   DBCollection dbc=db.getCollection(“person”);

   DBCursor cursor=null;
   BasicDBObject query=null;
   
   cursor=dbc.find();
   System.out.println(“전체 갯수:”+cursor.count());
   System.out.println(“================”);
   
   String[] or={“$in”,”$nin”};
   int[] age_arr={20,30};
   for(int i=0;i<or.length;i++){
    query=new BasicDBObject(“age”,new BasicDBObject(or[i],age_arr));
    cursor=dbc.find(query);
    System.out.println(“결과 갯수: “+cursor.count());
    while(cursor.hasNext()){
     System.out.println(cursor.next());
    }
    cursor.close();
   }
   
  }catch(Exception ex){System.out.println(ex.getMessage());}
 }