我可以在 GraphQL 中使用没有连接类型的边缘类型吗?

Can I use edge type without connection types in GraphQL?

我需要边类型来在两个节点之间添加额外的字段。但我不需要分页连接。

我可以在 GraphQL 中使用没有连接的边缘吗?这样做的最佳做法是什么?

边缘类型没有什么特别的——只需定义一个新的对象类型并引用它而不是直接引用其他类型。就像您可以在 SQL 中定义联接 table 一样。因此,假设您从(在 GraphQL 模式语言中)开始:

type User {
  bestFriend: User
}

然后你想添加一些关于友谊的东西,你可以为此创建一个类型:

type User {
  bestFriend: Friendship
}

type Friendship {
  friend: User
  startTime: Date
  commonPhotos: [Photo]
}

现在 Friendship 类型就像边一样工作。