Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mySQL JSON Document Store-Methode zum Einfügen von Daten in Knoten mit 3 Ebenen Tiefe

Vielleicht möchten Sie https://dev. mysql.com/doc/refman/8.0/en/json-function-reference.html und erkunden Sie jede der Funktionen und probieren Sie sie nacheinander aus, wenn Sie weiterhin mit JSON-Daten in MySQL arbeiten möchten.

Ich konnte das tun, was Sie so beschreiben:

update ssp_models set json_data = json_array_append(
    json_data, 
    '$."system-security-plan".metadata.parties', 
    json_object('name', 'Bingo', 'type', 'farmer')
)
where uuid = '66c2a1c8-5830-48bd-8fdd-55a1c3a52888';

Dann habe ich die Daten überprüft:

mysql> select uuid, json_pretty(json_data) from ssp_models\G
*************************** 1. row ***************************
                  uuid: 66c2a1c8-5830-48bd-8fdd-55a1c3a52888
json_pretty(json_data): {
  "system-security-plan": {
    "uuid": "66c2a1c8-5830-48bd-8fdd-55a1c3a52888",
    "metadata": {
      "roles": [
        {
          "id": "legal-officer",
          "title": "Legal Officer"
        }
      ],
      "title": "Enterprise Logging and Auditing System Security Plan",
      "parties": [
        {
          "name": "Enterprise Asset Owners",
          "type": "organization",
          "uuid": "3b2a5599-cc37-403f-ae36-5708fa804b27"
        },
        {
          "name": "Enterprise Asset Administrators",
          "type": "organization",
          "uuid": "833ac398-5c9a-4e6b-acba-2a9c11399da0"
        },
        {
          "name": "Bingo",
          "type": "farmer"
        }
      ]
    }
  }
}

Ich habe mit Daten wie Ihren begonnen, aber für diesen Test habe ich alles nach den parties abgeschnitten Array.