MongoDB запрос точечной нотации - PullRequest
2 голосов
/ 14 февраля 2012

У меня есть BasicDBObject, который во время отладки, кажется, содержит:

{ "_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"));

, я получаю исключение нулевого указателя.

Есть мысли о том, что я здесь не так делаю?

Я пытаюсь получить значение d_key внутри _id.

1 Ответ

6 голосов
/ 14 февраля 2012

DBObject и его дочерние элементы не поддерживают точечную запись.Вам нужно будет сделать:

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

Кстати, это очень большое поле _id.Это приведет к огромным показателям, что, как правило, не очень хорошая идея.

...