数组类型中的图QL和DynamoDb更新项

问题描述 投票:0回答:1

我有一个架构:

type Profile {
    id: ID
    email : String
    awards: [Award]
}

type Award {
    id: ID!
    title: String!
    description: String!
}

我需要创建一个功能来使用个人资料ID和奖励ID更新特定的奖励,我想修改奖励中的标题和描述。

amazon-dynamodb graphql
1个回答
0
投票

可以插入特定位置:

let i = AwardInput['position'];

创建更新表达式:

let expression = "set awards[" + i +"].title = :title, "
    expression = expression + "awards[" + i +"].description = :description, " 
    expression = expression + "awards[" + i +"].initialDate = :initialDate, " 
    expression = expression + "awards[" + i +"].updated_at = :updated_at "

更新表:

    docClient.update(
      {
        TableName: process.env.USER_TABLE,
        Key: { 'id': AwardInput.id, },
        UpdateExpression: expression,
        ExpressionAttributeValues: {
                                      ":title": AwardInput['title'],
                                      ":description": AwardInput['description'],
                                      ":initialDate": AwardInput['initialDate'],
                                      ":updated_at":  AwardInput['updated_at'] ,

                                   },
        ReturnValues: 'UPDATED_NEW',
      },
© www.soinside.com 2019 - 2024. All rights reserved.