从嵌套mongodb文档访问值

从嵌套mongodb文档访问值,mongodb,Mongodb,如何使用Java从子文档(Mongodb)的键/值对访问值 {u id:{“key1”:“val1”},“key2”:“val2”,“subdoc”:{“key3”:“val3”,“key4”:“val4”} 在输出中,键3和键4的值为空。有人能告诉我如何访问子文档中的值吗?请使用以下代码段: DB db = (new MongoClient("localhost", 27017)).getDB("nov2014"); DBCollection dbCollection = d

如何使用Java从子文档(Mongodb)的键/值对访问值

{u id:{“key1”:“val1”},“key2”:“val2”,“subdoc”:{“key3”:“val3”,“key4”:“val4”}


在输出中,键3和键4的值为空。有人能告诉我如何访问子文档中的值吗?

请使用以下代码段:

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");                         
}

请看答案,因为它是直截了当的,效果很好。顺便说一句,我已经解决了使用-。再次感谢。
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");                         
}