2017-05-21 28 views
0

我第一次使用MongoDBJava。我認爲這是一個簡單的問題,但我沒有找到答案。使用java返回mongoDB中對象的屬性

我有一個userscollection,下atributes:usernamepassname

我想通過指定usernamepassword的值保存在String中。

例如:我有一個用戶{"username":"UserName", "pass":"abc", "name":"Us"} 我想將abc的值保存在String上。

我已經嘗試過下一個代碼,但我沒有指定哪一個是我想要的passworduser

DBCollection table = db.getCollection("user"); 
DBObject us= table.findOne(); 
String pass = (String) us.get("pass"); 
System.out.println(pass); 

感謝您的幫助

回答

0

findOne可以採取查詢。見findOne(DBObject query)

DBObject query = new BasicDBObject("username", "test"); 

DBObject us = table.findOne(query); 
+0

感謝您的答覆,它返回正確的對象,但我怎麼能保存在一個字符串值傳球。 – jmarco10

+0

不是你在做什麼工作? 'String pass =(String)us.get(「pass」)' –

+0

它的工作原理非常感謝。 – jmarco10

0
//username must be unique to fetch one row 
    DBObject query = new BasicDBObject("username","myName"); 

    DBObject us = table.findOne(query); 
    DBCursor cur = collection.find(us); 


    String pass= null ; 
    while(cur.hasNext()){ 
     pass= cur.next().toString(); 
    } 
    cur.close(); 
    JSONObject json = new JSONObject(pass); 
    String thePass= json.getString("pass");