2014-12-17 3 views
0

Java를 사용하여 하위 문서 (Mongodb)의 키/값 쌍에서 값에 액세스하려면 어떻게해야합니까? KEY3 키 (4)의 출력 값 중첩 된 mongodb 문서의 값에 액세스

DB db = (new MongoClient("localhost", 27017)).getDB("nov2014");   
    DBCollection dbCollection = db.getCollection("student");  

    BasicDBObject basicDBObj = new BasicDBObject(); 
    basicDBObj.put("key1", " val1");    

    DBCursor dbCursor = dbCollection.find(basicDBObj);   
    while(dbCursor.hasNext()){ 
     BasicDBObject dbObject = (BasicDBObject)dbCursor.next();  
     System.out.println(“Key 2: ” = dbObject.getString("key2"); 
     System.out.println(“Key 3: ” = dbObject.getString("subdoc.key3"); 
     System.out.println(“Key 4: ” = dbObject.getString("subdoc.key4");       
    } 

{ "_id" : { "key1" : "val1"} , "key2" : “val2” , "subdoc" : { "key3" : "val3" , "key4" : "val4" }

널이다. 누군가가 하위 문서에서 값에 액세스하는 방법을 말해 줄 수 있습니까?

+0

이 http://stackoverflow.com/questions/12166573/java-mongodb-getting-value-for-sub-document – Abhi

답변

1

를 사용하여 다음과 같은 코드가하십시오

DB db = (new MongoClient("localhost", 27017)).getDB("nov2014");   
DBCollection dbCollection = db.getCollection("student");  

BasicDBObject basicDBObj = new BasicDBObject(); 
basicDBObj.put("key1", " val1");    

DBCursor dbCursor = dbCollection.find(basicDBObj);   
while(dbCursor.hasNext()){ 
    BasicDBObject dbObject = (BasicDBObject)dbCursor.next();  
    System.out.println(“Key 2: ” = dbObject.getString("key2"); 
    System.out.println(“Key 3: ” = ((BasicDBObject)dbObject.get("subdoc")).get("key3"); 
    System.out.println(“Key 4: ” = ((BasicDBObject)dbObject.get("subdoc")).get("key4");       
} 
+0

감사에 대한 대답을 참조하십시오 매우 많은!! – Vinita

+0

그것은 곧장 앞으로 잘 작동합니다. Btw, 나는 - http://stackoverflow.com/questions/5015844/parsing-json-object-in-java를 사용하여 해결했습니다. 다시 한번 감사드립니다. – Vinita