Size: a a a

GraphQL — русскоговорящее сообщество

2020 July 19

Aॐ

Anton ॐ in GraphQL — русскоговорящее сообщество
Арсений
В доке же есть раздел про GraphQL
Есть, не спорю. У меня ровно одна проблема. Не понимаю куда запихнуть dataloader.
По туториалам я видел, что его просто передают в context option как обычную функцию, которая возвращает лоадер и внутри ходит в базу с bulk запросом.
Я пробовал, нест ругается, что лоадер не является частью модуля. Соответственно у меня вопрос куда нужно лоадер положить, нужно его оборачивать в модуль и пытаться инжектить в корневоц модуль.

Крч, я прям запутался. Буду рад, если объясните
источник

А

Арсений in GraphQL — русскоговорящее сообщество
Anton ॐ
Есть, не спорю. У меня ровно одна проблема. Не понимаю куда запихнуть dataloader.
По туториалам я видел, что его просто передают в context option как обычную функцию, которая возвращает лоадер и внутри ходит в базу с bulk запросом.
Я пробовал, нест ругается, что лоадер не является частью модуля. Соответственно у меня вопрос куда нужно лоадер положить, нужно его оборачивать в модуль и пытаться инжектить в корневоц модуль.

Крч, я прям запутался. Буду рад, если объясните
Попробуй тут спросить @nest_ru
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
подскажите за даталоадер, я максимально не понимаю, когда он нужен, тогда, когда одним запросом в бд много запросов?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
что тебе мешает забить в ютубе запрос и посмотреть видео?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Или поискать по поиску
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Уже обсуждали ни раз
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
тоесть я тригерю запрос, а там список, графкл для каждого елемента списка тригернет резолвер, а что бы одним запросом в бд, собрать запросы к ней и кинуть в конце?
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
Олег Линьков
что тебе мешает забить в ютубе запрос и посмотреть видео?
там миллион лоадеров
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Он один и единственный, подход
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Если прям банально, то без даталоадера в базу идут запросы вида:
SELECT ... where userId = 1
SELECT ... where userId = 2
SELECT ... where userId = 3
то с дата лоадером это будет:
SELECT ... where userId in (1,2,3) и он сам распределит, куда 1,а куда данные 2
Также там есть небольшой кеш для данных
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
https://www.youtube.com/watch?v=ld2_AS4l19g вот прям в картинках
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а это нормальная практика, передавать функции даталоадеров в контекст?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
а чего нет то? автокомплит только работать не будет, а так да
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
сделал по уроку, что то не то, как у него все
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
резолевер должен вернуть много мерный массив? ии у меня что то погло не так?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Блин, в ошибке же все написано
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Массив ключей не равен массиву данных
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
То есть данных возвращается меньше, чем передано ключей
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
я понял, не равное кол-во было
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
ну я смотрю, что быстрее не стало, довольно долго думает
источник