2012-02-14 9 views
2

私はデバッグが保持しているようだながらBasicDBObject持っている:今MongoDBのドット表記クエリ

{ "_id" : { "p_key" : { "$date" : "2012-02-02T00:00:00Z"} , "d_key" : 222} , "t_key" : 10195 , "w_key" : 4 , "f_key" : { "$date" : "2012-02-02T00:00:00Z"}} 

、私がしようとすると:

dbObject.get("_id.d_key")); 

私はnullポインタ例外を取得します。

私がここで間違っていることに関する考えはありますか?

d_keyの値を_idにしようとしています。

答えて

6

DBObjectとその子はドット表記の取得をサポートしていません。あなたはする必要があります:

if(dbObject.containsField("_id")) 
    ((DBOBject)dbObject.get("_id")).get("p_key") 

途方もない_idフィールドです。それは一般的に良い考えではない巨大なインデックスになります。

関連する問題