格式化数据以适合GraphQL模式

时间:2019-05-17 20:22:13

标签: node.js amazon-dynamodb graphql apollo apollo-server

我正在使用DynamoDB作为数据库。由于它是NoSQL数据库,因此我以某种与我想从GraphQL接收数据的方式不匹配的方式存储数据。我对GraphQL,Apollo和DynamoDB的所有事物都是陌生的。

如果我们将这些模式设置为示例:

type App: { 
  activities: [Activity] 
}

type Activity: { 
  name: String!
  desc: String
}

type Query {
  activity(name: String!): Activity
}

我对activity查询的目标是使活动按提供的名称进行。为了方便访问,我将其以这种方式存储在DynamoDB中。

{ 
  activities: {
    exempleName: {
      desc: 'exempleDesc'
    }
  }
}

通过这种方式,我可以通过获取activity.exempleName轻松找到它,除了现在我得到这样的对象:

{ 
  desc:'exempleDesc'
}

当我需要它来适应我的模式时:

{ 
  name:'exempleName'
  desc:'exempleDesc'
}

最有效的方法是什么?请记住,必须将其重新用于许多具有不同字段名称的对象。

0 个答案:

没有答案