如果用户输入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,
},
)
答案 0 :(得分:2)
DynamoDB是一个NoSQL数据库。这是大多数NoSQL数据库的默认功能。 DynamoDB也支持此功能。与RDBMS一样,NoSQL数据库没有任何模式。您可以随时添加任何非关键属性。
对于DynamoDB,在创建表时,它不允许定义任何非键属性。 lastName
是非关键属性。在创建新项目时,可以在创建项目(或)后随时将其添加到项目(即记录)中。这是NoSQL或DynamoDB数据库的主要优点之一。
UpdateExpression = 'SET lastName = :lastNameVal',
ExpressionAttributeValues={':lastNameVal' : 'John'}