2017-06-17 4 views
0

Das ist mein DynamoDB JSONSo löschen Sie den Boto3 DynamoDB-Schlüssel?

{ 
    "follow_count": 3, 
    "followed_back_count": 4, 
    "followed_back_users": [ 
    32432 
    ], 
    "login": "login1", 
    "target": "target1", 
    "target_followed_users": [ 
    234232342, 
    453453434, 
    241413422 
    ] 
} 

ich die target_followed_users aus der db löschen müssen so müde, dass ich dieses ...

# Update for followed_back_users 
table.update_item(
    Key={ 
     'login': login, 
     'target': target, 
    }, 
    UpdateExpression='DELETE followed_back_users = :followed_back_users', 
    ExpressionAttributeValues={ 
     ':followed_back_users': db_followed_back_users 
    } 
) 

ich unten Fehler bekam ..

botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the UpdateItem operation: Invalid UpdateExpression: Syntax error; token: "=", near: "followed_back_users = :followed_back_users"

Antwort

1

Das ist definitiv nicht the correct syntax. Wenn Sie ein bestimmtes Element aus Ihrem target_followed_users Satz löschen wollen, dann würden Sie die Syntax verwenden:

UpdateExpression='DELETE followed_back_users :followed_back_users'

wo followed_back_user die Liste der Werte würden aus dem Satz zu löschen.

Wenn Sie vollständig das followed_back_users Attribut aus dem DynamoDB Datensatz entfernen möchten, dann würden Sie die folgende Syntax verwenden:

UpdateExpression='REMOVE followed_back_users'

+0

db_followed_back_users eine Liste ist. Ich werde versuchen mit 'REMOVE' Sie haben erwähnt, dass dies das ist, was ich will, denke ich. Lass mich nachsehen und zu dir zurückkommen. Danke für die Antwort. –

Verwandte Themen