gpt4 book ai didi

java - 使用java在mongo 3中查找嵌套值

转载 作者:行者123 更新时间:2023-12-01 20:56:32 25 4
gpt4 key购买 nike

我的 mongo 集合中有一个文档,如下所示:

{ 
"timestamp": 1460442540,
"page": "home",
"misc": {
"color": "red",
"light": "off"
}
}

我想要做的是当页面上满足特定条件时返回misc.color的值。

这就是我所拥有的:

   //find my query match
Document value = mongoDBService.getCollection(collectionName)
.find(eq("page", "home")).first();

//prints json described above
LOG.info(value.toString());

//prints "misc" subdocument
LOG.info(value.get("misc").toString());

//null pointer
LOG.info(value.get("misc.color").toString());

有什么方法可以处理我缺少的点符号吗?理想情况下,我希望此查询是动态的,以便它可以处理点表示法值和更高级别的值。

我使用的是 mongodb-driver 3.4.2。

最佳答案

您可以将代码更新为以下内容。

Document value = mongoDBService.getCollection(collectionName)
.find(eq("page", "home")).first();

LOG.info(value.get("misc", Document.class).getString("color"));

关于java - 使用java在mongo 3中查找嵌套值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com