鉴于我有这个从 Mongo DB 检索到的示例 BSON 文档。
{
"field1": "text1",
"field2": {
"field2Sub1": "text2"
},
"field3" : [
{
"field3Sub1": "text3",
"field3Sub2": "text4"
},
{
"field3Sub1": "text5",
"field3Sub2": "text6"
}
],
"field4": {
"field4Sub1": "text7",
"field4Sub2" : [
{
"field4Sub2Sub1": "text8",
"field4Sub2Sub2": "text9"
},
{
"field4Sub2Sub1": "text10",
"field4Sub2Sub2": "text11"
}
]
}
}
在 Mongo DB 中,如果我想搜索具有field4Sub2Sub2
包含 value的字段的文档"text11"
。
我可以做这种搜索查询:
{"field4.field4Sub2.field4Sub2Sub2": "text11"}
或者,我也可以使用这种搜索来搜索具有field3Sub1
包含值的字段的文档text3
:
{"field3.field3Sub1": "text11"}
鉴于上述对象,我将其转换为 Java BSON 文档。而且,我想问一下 Java 或 Java 库中是否有一种方法可以搜索 Document 的内部并给我特定字段的值。
使用带点注释的搜索字符串,例如
"field3[0].field3Sub1"
or
"field4.field4Sub1"
或
"field4.field4Sub2[1].field4Sub2Sub2"
这将相应地返回以下值:
text3
text7
text11
谢谢