Итак, у меня есть коллекция животных, которая выглядит примерно так:
{ "collection":
[
{ "name":"cow",
"parts": [
{"part_name":"legs"},
{"part_name":"rumen"},
{"part_name":"tail"},
{"part_name":"nostrils"}
]
},
{ "name":"sheep",
"parts": [
{"part_name":"legs"},
{"part_name":"rumen"},
{"part_name":"tail"},
{"part_name":"nostrils"}
]
},
{ "name":"goat",
"parts": [
{"part_name":"legs"},
{"part_name":"rumen"},
{"part_name":"tail"},
{"part_name":"nostrils"}
]
},
{ "name":"dog",
"parts": [
{"part_name":"ears"},
{"part_name":"nipples"},
{"part_name":"legs"},
{"part_name":"nostrils"}
]
}
]
}
Мне не нравится part_name "rumen", поэтому я хочу написать оператор удаления, который удаляет только вложенные поля где значение равно "rumen", ie:
delete from animals where parts.part_name = 'rumen';
Но это не способ go об этом. Как мне этого добиться?
РЕДАКТИРОВАТЬ: объяснение таблицы животных (части повторяются):
| animal_name | parts.part_name |
+-----------------+--------------------------------------+
| cow | legs |
| | rumen |
| | tail |
| | nostrils |
+-----------------+--------------------------------------+
| sheep | legs |
| | rumen |
| | tail |
| | nostril |
+-----------------+--------------------------------------+
| goat | legs |
| | rumen |
| | tail |
| | nostrils |
+-----------------+--------------------------------------+
| dog | ears |
| | nipples |
| | legs |
| | nostrils |
+-----------------+--------------------------------------+