mongodb — значение идентификатора поддокумента

У меня есть коллекция.

look
 { "_id" : 13.0 , "tenantref" : { "$id" : 3.0}}

Мне нужно получить значение id 3.0 с помощью java. Я получаю исключение нулевого указателя.

    BasicDBObject field = new BasicDBObject();
    BasicDBObject field = new BasicDBObject();
    field.put("tenantref.$id", 1);

    DBCursor cursor = mongo.getDB("number").getCollection("testthree").find(query,field);   

    while (cursor.hasNext()) 
    {       
    System.out.println(cursor.next().get("tenantref.$id"));
    }

Я получаю исключение нулевого указателя. Как мне получить значение?


person Ramya    schedule 05.09.2012    source источник
comment
в какой строке возникает исключение нулевого указателя?   -  person Philipp    schedule 05.09.2012


Ответы (1)


cursor.next().get("tenantref.$id"));

Функция get() класса BasicDBObject не поддерживает синтаксис с точкой. Вы должны пройти иерархию объектов вручную. Пытаться

((DBObject)cursor.next().get("tenantref")).get("$id");
person Philipp    schedule 05.09.2012