2017-09-21 4 views
0

pouvons-nous supprimer plusieurs enregistrements dans dynamo db uniquement via la clé de plage?Suppression de plusieurs enregistrements dans dynamo db

J'essaie de faire comme cette instruction SQL delete from employee where employee_name = 'gopal'; donc ici les enregistrements avec le nom de l'employé gopal devraient être supprimés

pouvons-nous atteindre même comme cette requête sql dans dynamo db?

Répondre

0

Selon l'API, il n'y a pas de suppression par lot pour DynamoDB.

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html

Vous devez interroger l'élément et supprimer avec leur clé de partition.

Je recommande regarder ODM,

https://github.com/clarkie/dynogels

pour rendre les opérations plus simples.

Vérifiez les appels d'échantillons pour la suppression,

Account.destroy('[email protected]', function (err) { 
    console.log('account deleted'); 
}); 

// Destroy model using hash and range key 
BlogPost.destroy('[email protected]', 'Hello World!', function (err) { 
    console.log('post deleted') 
}); 

BlogPost.destroy({email: '[email protected]', title: 'Another Post'}, function (err) { 
    console.log('another post deleted') 
}); 
1

Vous devez faire un BatchWriteItem supprimer vos articles. From the documentation:

BatchWriteItem effectue PUT et DELETE

+0

bon. Mais vous avez encore besoin d'interroger le dossier et donne leur clé de partition à supprimer.Bon find sur BatchWriteItem, le nom de l'API n'est pas évident pour distinguer son fonctionnement. – Kannaiyan

0

@Kannaiyan Merci pour vos commentaires ....

j'ai trouvé la solution avec DynamoDB avec java http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/JavaDocumentAPICRUDExample.html

DeleteItemSpec deleteItemSpec = new DeleteItemSpec(). withPrimaryKey ("Id", 120) .withConditionExpression ("# ip =: val"). avecNameMap (nouveau NameMap(). h ("# ip", "InPublication")) . withValueMap (new ValueMap() .withBoolean (": val", false)). WithReturnValues ​​(ReturnValue.ALL_OLD);

aller chercher les dossiers avec la clé, une paire de valeur et de le stocker dans « withValueMap (nouveau ValueMap() » et cela me aide.

Merci.