如何使用Java检索Mongo DB文档中嵌套对象的值

问题描述

我有一个如下文件:

"application" : "test","QA1" : {
    "url" : "https://google.co.in","db" : {
        "userName" : "user","password" : "pswd"
    }
}

我想通过调用键“ url”来检索值“ https://google.co.in”。

虽然使用下面的shell命令,但是我能够按预期检索值。 db.getCollection('Application_Data')。findOne({“ application”:“ test”})。QA1.url

但是当我将其转换为Java代码时,它会抛出空指针异常:

cursor = collection.find(Filters.eq("application","test")).iterator();
        while (cursor.hasNext()) {
            value=cursor.next().get("QA1.url").toString();
            break;
        }

我还尝试了如下所示的投影以获得所需的值:

cursor = collection.find(Filters.and(Filters.eq("application","test"))).projection(Projections.fields(Projections.include("QA1.url"),Projections.excludeId())).iterator();
        while (cursor.hasNext()) {
            System.out.println(cursor.next().get("QA1").toString());
        }

这给了我如下输出:

文档{{url = https://google.co.in}}

它仍然没有给我确切的价值。感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)