1

私は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 に置き換えれば、問題なく動作します。手伝ってくれてありがとう。

4

1 に答える 1