自然键与查找

一条记录既可以通过 id 寻址,也可以通过可读的键寻址,例如 about-us。查找为模型添加更多唯一键,因此用 handle 或 SKU 就能在一次类型化查询中找到记录。

自然键

自然键是记录可选的、人类可读的地址,以 _naturalKey 返回。它是一个对 URL 安全的片段,由字母、数字、连字符、下划线、句点和波浪号组成。你可以在 GraphQL、SDK 和 CLI 中通过键读取记录,没有匹配结果的读取返回 null。该键始终可用于过滤和排序。

冲突与重命名

在创建记录时设置键。如果该模型的另一条记录已持有这个键,创建仍会成功,Fóir 会追加一个后缀(about-1、about-2),所以请从响应中读回键。重命名是单独的 mutation。当另一条记录持有新键时会被拒绝,并且记录的 id 永远不变。

查找

查找是模型上额外的具名键,在你的配置文件中用 keyBy 声明。每个查找都会生成一个类型化查询,返回一条记录或 null:对产品 SKU 的查找会给你 productBySku。一个查找最多可以组合四个字段,一个模型最多可以有四个查找。这些字段必须是顶层的文本、整数、小数、布尔或枚举字段。

查找查询匹配当前为调用方提供服务的变体的值,并接受一个 locale 参数。

唯一性与回填

查找是唯一的并带索引。保存查找值与另一条记录冲突的记录会被拒绝,错误会指明模型、查找及其字段。控制台会内联标出冲突。

给已有记录的模型添加查找,会在推送时回填。如果现有记录持有重复的值,推送会停止,查找不会被添加。

了解详情

查找指南涵盖声明查找、它生成的查询、复合键和冲突错误。