【发布时间】:2021-06-23 16:00:05
【问题描述】:
对于数组xxx 中的所有对象,我如何编写 DSL 查询来选择具有 JSON 对象的文档,其中字段 configs_1.a_addr 与 configs_2.b_addr 不匹配不?
{
"name": "steve_doc_45",
"xxx": [
{
"name": "s1",
"configs_1": {
"a_addr": "10.1.2.3",
"a_mask": "255.255.224.0"
},
"configs_2": {
"b_addr": "10.1.2.3",
"b_mask": "255.255.224.0"
}
},
{
"name": "s2",
"configs_1": {
"a_addr": "10.5.5.5",
"a_mask": "255.255.224.0"
},
"configs_2": {
"b_addr": "10.6.6.6",
"b_mask": "255.255.224.0"
}
}
],
"other": "stuff"
}
在此示例中,文档应该匹配,因为在名称为 s2 的对象中,值 10.5.5.5 不匹配 10.6.6.6。
如果这个对象从数组xxx中删除,那么这个文档应该不匹配DSL查询,因为名称为s1的对象确实有匹配的字段,然后它是数组 xxx 中唯一的对象。
【问题讨论】: