在DynamoDb中添加不存在的属性

时间:2017-09-22 09:41:05

标签: python amazon-web-services amazon-dynamodb boto3

如果用户输入Dynamodb中不存在的属性,请接受该属性并存储到Dynamodb中。

目前,我有'id'和'firstName'作为属性,用户可以通过插入firstName来创建,但是,如果他们想要添加'lastName'属性,dynamodb应该接受'lastName'并存储到数据库中

def create(event):
    body = dict(event['body'])
    id = body['id']
    firstName = body['firstName']

    response = table.put_item(
        Item={
            'id': str(id),
            'firstName': firstName,
        },
    )

1 个答案:

答案 0 :(得分:2)

DynamoDB是一个NoSQL数据库。这是大多数NoSQL数据库的默认功能。 DynamoDB也支持此功能。与RDBMS一样,NoSQL数据库没有任何模式。您可以随时添加任何非关键属性。

对于DynamoDB,在创建表时,它不允许定义任何非键属性。 lastName是非关键属性。在创建新项目时,可以在创建项目(或)后随时将其添加到项目(即记录)中。这是NoSQL或DynamoDB数据库的主要优点之一。

UpdateExpression = 'SET lastName = :lastNameVal',   
ExpressionAttributeValues={':lastNameVal' : 'John'}

Reference link