私はmongoDBが初めてです。そして、次のようなjsonの時間のすべての値を取得したい:
{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"}, "LoginRequest" : { "Time" : "11-06-2012 11:59:33", "innerAttr4" : "innerValue4"} }
{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113cb"}, "LoginRequest" : { "Time" : "11-06-2012 12:34:05", "innerAttr4" : "innerValue4"} }
検索した後、ドット表記を使用することがわかりました。しかし、Javaではドット表記が機能しません。誰かがこれを行う方法を教えてもらえますか?
このようにドット表記を使いました。しかし、それは null を返します。
String selectedCollection = "user01"; //WILL CONTAIN THE SELECTED USERNAME
DBCollection coll = db.getCollection(selectedCollection);
ArrayList<String> result = new ArrayList<String>();
//DBObject obj = coll.findOne("LoginRequest.Time");
BasicDBObject query = new BasicDBObject();
BasicDBObject field = new BasicDBObject();
field.put("LoginRequest.Time", 1);
DBCursor cursor = coll.find(query,field);
while (cursor.hasNext()) {
BasicDBObject obj = (BasicDBObject) cursor.next();
result.add(obj.getString("LoginRequest.Time"));
System.out.println(obj.getString("LoginRequest.Time") );
}
LoginRequest.Time をどこでも LoginRequest に置き換えれば、問題なく動作します。手伝ってくれてありがとう。