Имеется что-то похожее на следующую схему GraphQL:
type Foo {
id: String!
name: String!
type: Int!
}
type User {
id: String!
name: String!
type: Int!
foos: [Foo!]!
}
Если требуется, чтобы отношения foos
были отфильтрованы автоматически сервером, поскольку их может быть многотогда какие последствия это может иметь для кэширования?
Например, я могу определить запрос для выборки всех пользователей определенного типа, что означает, что Foo
объекты, относящиеся к каждому User
, должны иметь толькоопределенный тип.
Я просто внедряю серверную часть, поэтому я хочу понять, какие проблемы, если таковые имеются, могут возникнуть у клиента.Насколько я понимаю, каждый раз, когда выбирали User
, он обновлял отношения Foo
, которые когда-либо были бы только подмножеством фактических данных.Это означало бы, что клиенту приходилось перевыпускать данные почти каждый раз, когда менялись критерии, делая кэш бесполезным.
Это действительная проблема?Если так, есть ли лучший способ сделать это?