0

私はコレクションを持っています。

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

Java を使用して id 3.0 の値を取得する必要があります。null ポインター例外が発生しています。

    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"));
    }

null ポインター例外が発生しています。どのように値を取得する必要がありますか?

4

1 に答える 1

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

BasicDBObject の get() 関数は、ドット構文をサポートしていません。オブジェクト階層を手動でトラバースする必要があります。試す

((DBObject)cursor.next().get("tenantref")).get("$id");
于 2012-09-05T13:13:34.667 に答える