我正在使用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'
}
最有效的方法是什么?请记住,必须将其重新用于许多具有不同字段名称的对象。