хранилище документов mysqlsh JSON находит документы с использованием подстановочного имени - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть документы 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": {}
        }
    }
}

Я добавил эти документы в хранилище документов MySQL JSON, используя db.testdata.add(<json_doc>).В моем документе JSON поля dynamic_field1 и dynamic_field2 являются динамическими полями, и они будут динамическими для каждого документа, который я вставлю.После добавления этих документов я хотел бы получить документы с фильтром static_field1.*.static_field11.static_field114="value4".Насколько я понимаю, использование * в качестве подстановочного знака в поле не будет так, как будет select col* from table.Так есть ли способ преодолеть это, чтобы найти документы, используя подстановочный знак в поле?Или есть какой-то другой лучший подход к этой ситуации для такого рода динамических документов JSON?Я попытался Elasticsearch, который работает несколько, но он падает, когда я использую такой тип запроса с несколькими символами подстановки

...