mysqlsh JSON文档存储使用通配符文件名查找文档

时间:2018-11-15 09:28:25

标签: mysql mysql-8.0 mysqlsh

我有以下格式的JSON文档,

doc1

"static_field1": {
    "dynamic_field1": {
        "static_field11": {
            "static_field111": "value1",
            "static_field112": "value2",
            "static_field113": "value3",
            "static_field114": "value4",
            "static_field115": {
                "dynamic_field111": "value5"
            },
            "static_field116": "value6"
        },
        "static_field12": {
            "dynamic_field111": [
                "value7"
            ]
        },
        "static_field13": {
            "dynamic_field1111": {}
        }
    }
}

doc2

"static_field2": {
    "dynamic_field2": {
        "static_field21": {
            "static_field111": "value11",
            "static_field112": "value21",
            "static_field113": "value31",
            "static_field114": "value41",
            "static_field115": {
                "dynamic_field211": "value51"
            },
            "static_field116": "value61"
        },
        "static_field12": {
            "dynamic_field211": [
                "value71"
            ]
        },
        "static_field13": {
            "dynamic_field2111": {}
        }
    }
}

我已使用db.testdata.add(<json_doc>)在MySQL JSON文档存储中添加了这些文档。在我的JSON文档中,归档的dynamic_field1dynamic_field2是动态字段,对于要插入的每个文档,它都是动态的。添加完这些文档后,我希望使用过滤器static_field1.*.static_field11.static_field114="value4"获取这些文档。据我所知,在字段中使用*作为通配符不会像select col* from table那样。那么,有什么方法可以克服这一点,以便在现场使用通配符查找文档?还是对于这种动态JSON文档,还有其他更好的方法来解决这种情况吗?我尝试了Elasticsearch,它有些起作用,但是当我将这种通配符查询与多个通配符字段一起使用时,它会崩溃。

0 个答案:

没有答案