Amazon web services AWS Amplify在graphql API定义中创建2:N关系

Amazon web services AWS Amplify在graphql API定义中创建2:N关系,amazon-web-services,graphql,amazon-dynamodb,data-modeling,aws-amplify,Amazon Web Services,Graphql,Amazon Dynamodb,Data Modeling,Aws Amplify,假设您正在开发一个出租车公司应用程序 出租车从一个位置(终点位置)行驶到另一个位置(终点位置) 访问模式: 对于一个位置,请查找从那里开始的所有游乐设施 对于一个位置,找到所有到此结束的游乐设施 搭个便车去吧 搭便车到终点 骑乘有两个位置:起始位置和结束位置。 一个位置可以属于N个游乐设施。 我应该如何为这些关系建模 目前,我遵循M:N关系建模的方向,但我不知道如何在行驶侧建模关系: type Ride @model { id: ID! fromLocation: LocationR

假设您正在开发一个出租车公司应用程序

出租车从一个位置(终点位置)行驶到另一个位置(终点位置)

访问模式:

  • 对于一个位置,请查找从那里开始的所有游乐设施
  • 对于一个位置,找到所有到此结束的游乐设施
  • 搭个便车去吧
  • 搭便车到终点
骑乘有两个位置:起始位置和结束位置。 一个位置可以属于N个游乐设施。
我应该如何为这些关系建模

目前,我遵循M:N关系建模的方向,但我不知道如何在行驶侧建模关系:

type Ride @model {
  id: ID!
  fromLocation: LocationRide @connection(keyName: "byRide", fields: ["id"])
  toLocation: LocationRide @connection(keyName: "byRide", fields: ["id"])
  driverName: String
  customerName: String
}

type Location @model {
  id: ID!
  street: String
  houseNumber: String
  postalCode: String
  city: String
  ride: [LocationRide] @connection(keyName: "byLocation", fields: ["id"])
}

type LocationRide
  @model
  @key(name: "byRide", fields: ["rideId", "locationId"])
  @key(name: "byLocation", fields: ["locationId", "rideId"]) {
  id: ID!
  rideId: ID!
  locationId: ID!
  ride: Ride! @connection(fields: ["rideId"])
  location: Location! @connection(fields: ["locationId"])
}
我应该如何建模这些连接? 或者我应该改变我的数据模型