据我所知,在更改变量时,relay 依赖于 nodeDefitions 进行查询。
似乎所有具有 id 字段的对象都应该是有效节点。但是,如果我有这样的数据:
type User {
id: globalIdField('User'),
name: String,
folders: [ Folder ]
}
type Folder {
id: ???,
...
}
数据存储在基于文档的解决方案中,Folder 对象嵌套在 User 对象中。但是 Folder 对象被赋予了一个 id,以便其他一些对象可以在 User 的上下文中引用 Folder 对象。
如果 Folder 实现了 nodeInterface 并使用 globalIdField,那么我需要找到一种从 globalId 获取 Folder 对象的方法,这意味着我可能必须扫描所有用户才能找到它,拥有一个允许的数据映射我找到对象,或规范化数据,以便文件夹在自己的表中。如果它没有实现 nodeInterface,而只是使用字符串作为 id 字段,那么当我尝试改变 Folder 对象上的某些字段时会发生什么?