我有一个系列。
look
{ "_id" : 13.0 , "tenantref" : { "$id" : 3.0}}
我需要使用java检索id 3.0的值。 我得到空指针异常。
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"));
}
我得到空指针异常。我如何获得价值?
答案 0 :(得分:1)
cursor.next().get("tenantref.$id"));
BasicDBObject的get()函数不支持点语法。您必须手动遍历对象层次结构。尝试
((DBObject)cursor.next().get("tenantref")).get("$id");