Size: a a a

TypeORM - Русскоязычное сообщество

2019 September 12

LK

L K in TypeORM - Русскоязычное сообщество
@KaufmanEndy
https://github.com/rucken/todo-nestjs/blob/e8ac45dd1ccaf76d2dce0cbc6174364ca046427a/libs/rucken/todo-nestjs/src/services/projects.service.ts#L244
Слушай, а вот не будет у тебя баги с тем что raw это декартово произведение твоих таблиц ( join`ов )
и в raw будет к-во записей всегда больше, ну потому что операция умножения идет

и твой raw[index] будет брать не те данные

я вот не уверен, надо проверить будет эту штуку
если и брал бы raw, то скорее до загрузки join`ов
но тогда не смогу получить кастомные поля до джойнов если они нужны
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Это как пример, в реальном мире группировка нужна
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Селект в поле это не круто ваще)
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Нужно было для примера гденить заюзать, вот и воткнул сюда
источник

LK

L K in TypeORM - Русскоязычное сообщество
ILshat Khamitov
Это как пример, в реальном мире группировка нужна
не работает там группировка, возвращает typeorm так как бы и в базе запрос отработал

с raw надо быть осторожным, не юзать по индексу если вы грузите связи
да думаю тут и так понятно, просто увидел пример
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Ну оно тут  норм все возвращает так то
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
В мобиле выводятся эти данные
источник

LK

L K in TypeORM - Русскоязычное сообщество
ILshat Khamitov
Ну оно тут  норм все возвращает так то
только что проверил, мне не те данные возвращались если я брал по индексу
потому что там куча записей, допустим, 4000 по декартовому произведению вышло

а у вас 25 entity
к каждой entity берете по ее  индексу данные с raw, поулчаете информацию о первых 25 рядках с 4000
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Хм, проверю
источник

Г

Григорий in TypeORM - Русскоязычное сообщество
Привет, не могу понять, у меня запрос с несколькими relations через repository.findOne() работает в 2 раза медленнее, чем такой же запрос с использованием loadRelationIds, после которого я ещё делаю несколько запросов по каждой из полученных связей)) как это вообще понимать?
источник
2019 September 13

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Логирование включи тайп орм и сравни запросы
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
Лучше выбирать все сразу, не нужно доп запросы делать, в гитхаб тайп орм есть примеры мапания массива на поле
источник

Г

Григорий in TypeORM - Русскоязычное сообщество
Я посмотрел, у меня в итоге что-то подобное этому: https://gist.github.com/colinmcd94/3c5c46e6934720a5f4dae16d01dbe6da
источник

Г

Григорий in TypeORM - Русскоязычное сообщество
Куча left join
источник

LK

L K in TypeORM - Русскоязычное сообщество
тебе точно те все данные нужны которые ты вытягиваешь ?
источник

Г

Григорий in TypeORM - Русскоязычное сообщество
Да, конечно. У меня до этого было, повторю, loadRelationIds. После чего все эти джойны я через Promise.all делал запросы по каждой связи.
источник

K

Kolpakov in TypeORM - Русскоязычное сообщество
думаю, дело тут не в орм-ке и лучше бы посмотреть планы запросов
источник

Г

Григорий in TypeORM - Русскоязычное сообщество
Мне интересно, можно ли как-то через queryBuilder это оптимизировать?
источник

LK

L K in TypeORM - Русскоязычное сообщество
Григорий
Мне интересно, можно ли как-то через queryBuilder это оптимизировать?
тоже самое будет, там механизм один
источник
2019 September 16

ЕБ

Евгений Боднар in TypeORM - Русскоязычное сообщество
как сделать связь в сущностях через промежуточную таблицу? Допустим есть сущность User и сущность Project. Хочу что бы пользователь мог пинадлежать многим проектам, и связь была через таблицу user_project(user_id, project_Id)
источник