
Ilya
12.09.2018
15:02:32

Dmitry
12.09.2018
15:03:25
Не сложно. Модель данных другая. Не для этого инструмента

Ilya
12.09.2018
15:03:35
У постгресины есть функции работы с json, она может пересобирать дерево по веточкам, она может индексировать json.

Google

Ilya
12.09.2018
15:03:58
Как будто монга хранит деревья не списком, а как-то по другому.
У всяких Монг ток один плюс - они легко масштабируются не требуя от админа каких-то глубоких знаний. Во всём остальном Монга проигрывает той же постгресине.

Fike
12.09.2018
15:05:20

Ilya
12.09.2018
15:05:25
Постгресина так же может хранить списко с деревьями прямо json формата.

Fike
12.09.2018
15:05:50

Al
12.09.2018
15:05:59

Ilya
12.09.2018
15:06:04

Fike
12.09.2018
15:06:11
сколько вы будете ее из базы доставать, если там несколько тысяч комментариев наберется?

Dmitry
12.09.2018
15:06:16

Ilya
12.09.2018
15:06:53

Dmitry
12.09.2018
15:07:12

Google

Al
12.09.2018
15:07:18

Ilya
12.09.2018
15:07:22

Fike
12.09.2018
15:07:24

Al
12.09.2018
15:07:48

Ilya
12.09.2018
15:08:15
Постгресина берёт json, делает с ним что угодно и выдаёт json. Без промежуточного хранения в таблице. Без таблицы. Таблицы нет. Нет таблицы. :)

Fike
12.09.2018
15:08:18

Al
12.09.2018
15:08:24

Dmitry
12.09.2018
15:08:27

Fike
12.09.2018
15:08:43

Al
12.09.2018
15:08:52

Ilya
12.09.2018
15:08:55

Fike
12.09.2018
15:08:55
это json

Oleg
12.09.2018
15:09:08
Результирующий набор можешь получить - json

Fike
12.09.2018
15:09:13
поэтому, пожалуйста, называйте json manipulation по имени

Al
12.09.2018
15:09:41

Ilya
12.09.2018
15:09:53
Ок, я сдаюсь. Есть только Мускул с монгой. А всё что мимо них - всё таблицы и неправда.
Постгрес не умеет в json

Oleg
12.09.2018
15:10:35
У меня норм работает

Fike
12.09.2018
15:11:02

Google

Ilya
12.09.2018
15:11:06
В прошлом году я участвовал в разработке системы на постгресине которая принимает json, хранит json, индексирует json, выдаёт в веб json. Но теперь то я прозрел! Это ж не возможно!

Fike
12.09.2018
15:11:23

Ilya
12.09.2018
15:11:25
Таблица мешает.

Al
12.09.2018
15:11:27

Fike
12.09.2018
15:11:36
также озаботился бы о своем карьерном будущем
В каком смысле в глубину?
Да это я криво выражаюсь. Результирующая запись может найтись как в контексте 1 (исходной таблице), так и через несколько рукопожатий в контексте 2. И все равно попадет в результирующий сет.

Dmitry
12.09.2018
15:12:54
Илья, я не спорю что это возможно. Я же говорю что для подобных случаев есть более подходящий инструмент который лишен недостатков табличного представления данных в качестве ответа на запрос

Al
12.09.2018
15:12:59
Таблица мешает.
Тяжело тебе будет. Ты же данные даже на листике не можешь расписать и сравнить на что оно похоже

Ilya
12.09.2018
15:13:35

Al
12.09.2018
15:13:50

Ilya
12.09.2018
15:13:52
Он ведь тоже json крутит, а на листке ничо не может.

Oleg
12.09.2018
15:14:12
Один момент, а причем табличное выражение и json?

Oleg
12.09.2018
15:14:25
обычно в результате просто json

Fike
12.09.2018
15:14:29

Al
12.09.2018
15:14:30

Oleg
12.09.2018
15:14:48
одно поле в резалт сете - json

Fike
12.09.2018
15:14:50

Ilya
12.09.2018
15:14:52

Al
12.09.2018
15:18:59
Да и зачем тебе его знать, поц какой-то.
Вот и я о том же. Нахрена мне знать каких то поцев которые не понимают что список это тоже таблица. И json таблица. Да любая хрень может быть представлена таблицей.

Dmitry
12.09.2018
15:20:05
одно поле в резалт сете - json
Да, такое может работать. Но выглядит странно. А покажи пример. К примеру мне нужно из постов блога где каждая запись блога - отдельный JSON документ вытащить все коментарии и слить их в один ответ. Как это будет выглядеть на postgres?

Google

Oleg
12.09.2018
15:20:50
под рукой нет примера
но это работает

Al
12.09.2018
15:21:11

Oleg
12.09.2018
15:21:20
выглядит для бд нормально

Al
12.09.2018
15:21:44
Какой то предводитель хомяков с лозунгом JSON НЕ ТАБЛИЦА?

Oleg
12.09.2018
15:21:58
если не нравится - можно получать простой резалт сет, который потом в сервере паковать в json

Dmitry
12.09.2018
15:23:41

Fike
12.09.2018
15:24:22

lost
12.09.2018
15:26:47

Al
12.09.2018
15:27:07

Admin
ERROR: S client not available

lost
12.09.2018
15:27:08
предводитель команчей

Oleg
12.09.2018
15:27:47
ну каждый сам решает зачем =)

Dmitry
12.09.2018
15:27:51

Al
12.09.2018
15:28:24
Какая то кунскамера

Oleg
12.09.2018
15:28:57
кунсткамера
или скунскамера =)

Dmitry
12.09.2018
15:29:09
Почему? Ты прашиваешь зачем хранить или зачем возвращать?

Al
12.09.2018
15:29:24

Google

Oleg
12.09.2018
15:29:54
Не хами

Al
12.09.2018
15:30:18
Не хами
А то грамарнаци меня всего исправит?

Dmitry
12.09.2018
15:30:46
Если вопрос зачем хранить. Ответ простой. Данные у меня приходят с вложенными полями и структурами. Так надо. Раскладывать их по таблицам и собирать снова в json для браузера не хочу
Хочу положить как пришли, но хочу уметь по ним считать что-то

Al
12.09.2018
15:35:43

Fike
12.09.2018
15:37:12
если у вас браузер диктует то, как вы организуете БД, то у вас проблемы, а еще я вызвал полицию

lost
12.09.2018
15:37:42

Dmitry
12.09.2018
15:37:46
Ну клиенту то я все отправлять конечно не буду. Я вот и хочу из документа выбрать то что мне нужно. Например сумму по какому-то полю с группировкой.

Fike
12.09.2018
15:37:52

Al
12.09.2018
15:38:39

lost
12.09.2018
15:38:58

Al
12.09.2018
15:39:07

Dmitry
12.09.2018
15:39:14

Al
12.09.2018
15:39:35

Dmitry
12.09.2018
15:39:53

Al
12.09.2018
15:40:34

Ilya
12.09.2018
15:40:56
Дай пример? Например у меня таблица с JSON постов, и массивом коментариев в них. Как будет выглядеть запрос который выдаст все посты и коментарии в них, но только за вчера отсортированные по дате?
CREATE TABLE "public"."tjd" (
id serial NOT NULL PRIMARY KEY,
json_d json NOT NULL);
INSERT INTO tjd
VALUES
(
1, '{"name":"hui","date":"2001.01.01","comments":[{"id":1,"date":"2001.01.01"},{"id":2,"date":"2001.01.02"},{"id":3,"date":"2001.01.03"}]}'
);
SELECT
json_d ->> 'name'
,json_d ->> 'comments'
FROM
tjd
WHERE
json_d ->> 'date' = '2001.01.01'
ORDER BY
json_d ->> 'date'
Можно выдать в json, не в списке.


Al
12.09.2018
15:42:12
CREATE TABLE "public"."tjd" (
id serial NOT NULL PRIMARY KEY,
json_d json NOT NULL);
INSERT INTO tjd
VALUES
(
1, '{"name":"hui","date":"2001.01.01","comments":[{"id":1,"date":"2001.01.01"},{"id":2,"date":"2001.01.02"},{"id":3,"date":"2001.01.03"}]}'
);
SELECT
json_d ->> 'name'
,json_d ->> 'comments'
FROM
tjd
WHERE
json_d ->> 'date' = '2001.01.01'
ORDER BY
json_d ->> 'date'
Осталось придумать нахера тут json

Fike
12.09.2018
15:42:29

Al
12.09.2018
15:42:54

Fike
12.09.2018
15:43:40
CREATE TABLE "public"."tjd" (
id serial NOT NULL PRIMARY KEY,
json_d json NOT NULL);
INSERT INTO tjd
VALUES
(
1, '{"name":"hui","date":"2001.01.01","comments":[{"id":1,"date":"2001.01.01"},{"id":2,"date":"2001.01.02"},{"id":3,"date":"2001.01.03"}]}'
);
SELECT
json_d ->> 'name'
,json_d ->> 'comments'
FROM
tjd
WHERE
json_d ->> 'date' = '2001.01.01'
ORDER BY
json_d ->> 'date'
@@@ Мы работаем в ногу со временем и храним все в JSON
@@@ Используем автоинкремент отдельным полем, а почему вы спрашиваете?