【问题标题】:mongodb - Sub document id valuemongodb - 子文档 id 值
【发布时间】:2012-09-05 13:06:28
【问题描述】:

我有一个收藏。

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

我收到空指针异常。我需要如何获得价值?

【问题讨论】:

  • 空指针异常发生在哪一行?

标签: mongodb mongodb-java mongodb-query


【解决方案1】:
cursor.next().get("tenantref.$id"));

BasicDBObject 的 get() 函数不支持点语法。您必须手动遍历对象层次结构。试试

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多