Re: mogrify and indent features for jsonb
От | Thom Brown |
---|---|
Тема | Re: mogrify and indent features for jsonb |
Дата | |
Msg-id | CAA-aLv4J=1ew_Do1MRKjMQVQpnNMS=wspaWjHS2hymuaFeoxTg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: mogrify and indent features for jsonb (Josh Berkus <josh@agliodbs.com>) |
Список | pgsql-hackers |
On 24 February 2015 at 19:16, Josh Berkus <josh@agliodbs.com> wrote:
--
> Is there a way to take the json:
>
> '{"a": 1, "b": 2, "c": {"type": "json", "stuff": "test"}, "d":
> ["aa","bb","cc","dd"]}'
>
> and add "ee" to "d" without replacing it? I can think of ways of
> currently doing it, but it's very convoluted just for pushing a value to
> an array.
Can you think of a reasonable syntax for doing that via operators? I
can imagine that as a json_path function, i.e.:
jsonb_add_to_path(jsonb, text[], jsonb)
or where the end of the path is an array:
jsonb_add_to_path(jsonb, text[], text|int|float|bool)
But I simply can't imagine an operator syntax which would make it clear
what the user intended.
No, there probably isn't a sane operator syntax for such an operation. A function would be nice. I'd just want to avoid hacking away at arrays by exploding them, adding a value then re-arraying them and replacing the value.
Thom
В списке pgsql-hackers по дате отправления: