170 похожих чатов

Вопрос: как вы форматируете ответ от базы? Допустим делаете select всех

юзеров и к каждому джойните список его аватарок.
В ответе будет что-то подобное
1. user_1, avatar_1
2. user_1, avatar_2
3. user_1, avatar_3
4. user_2, avatar_1

Я часто делаю аггрегацию ответа в массив через array_agg(jsonb_build_object())
но не уверен что это хорошая практика. Помимо всего, если агреггируемый объект имеет много ключей, то запрос получается очень громоздкий.

8 ответов

9 просмотров

При чём тут нода?

Роман- Автор вопроса
arts
При чём тут нода?

бекенды, всё-такое...

Роман- Автор вопроса
arts
И?

нельзя тут такое спрашивать?

неправильная архитектура бд. смысл отдельного инстанса для аватарок?

Роман- Автор вопроса
Andy Cox
неправильная архитектура бд. смысл отдельного инст...

Таблица users хранит юзеров. У юзеров есть много аватарок, у каждой аватарки есть как минимум дата аплоада и флаг, является ли фото главным. Каждая аватарка является файлом, хранимым на s3, все ключи файлов хранятся в отдельной таблице files, с прочей мета информацией. Аватарки - не единственный тип файлов в системе. Как предлагаете организовать такую архитектуру правильно?

Роман
Таблица users хранит юзеров. У юзеров есть много а...

ну вот, у вас лишний дубликат. авы в отдельном поле у юзера, хоть объектами с кропом и тд и хэш ид на файл

Роман- Автор вопроса
Andy Cox
ну вот, у вас лишний дубликат. авы в отдельном пол...

простите, немного не понимаю, какой дубликат - лишний

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта