Насколько я могу судить, реле использует nodeDefitions для запросов, когда переменные изменяются.
Казалось бы, все объекты с полем id должны быть действительным узлом. Однако, если у меня есть такие данные:
type User {
id: globalIdField('User'),
name: String,
folders: [ Folder ]
}
type Folder {
id: ???,
...
}
Данные хранятся в решении на основе документов, а объекты «Папка» вложены в объект «Пользователь». Но объектам папки присваивается идентификатор, чтобы некоторые другие объекты могли ссылаться на объекты папки в контексте пользователя.
Если Folder реализует nodeInterface и использует globalIdField, то мне нужно найти способ получить объект Folder из globalId, а это означает, что мне, возможно, придется сканировать всех пользователей, чтобы найти его, иметь карту данных, которая позволит мне найти объект или нормализовать данные, чтобы папки находились в своей собственной таблице. Если он не реализует nodeInterface и просто использует строки в качестве поля идентификатора, что произойдет, когда я попытаюсь изменить некоторые поля в объекте «Папка»?