node.js - 如何扫描表中的所有项目并删除它们?
问题描述
我正在尝试删除 DynamoDB 表的所有项目。所以我先用函数getData()扫描了它们,然后想用函数deleteItem()把它们一个一个地删除,但是我不知道怎么把这两个函数联系起来。
您知道如何从 getDate() 中一一获取我的所有项目以删除它们吗?我这样做了,但我不确定它是否正确。
function deleteItem(item){
let deleteParam = {
TableName : process.env.TABLE_NAME,
Key : {
"ASSETNAME" : item.ASSETNAME
}
};
documentClient.delete(deleteParam, function(err, data) {
if (err) {
console.error("Fail"+err);
}
});
}
function getData(){
let scanningParameters = {
TableName : process.env.TABLE_NAME
};
documentClient.scan(scanningParameters, function(err,data){
if(err){
callback(err, null);
}else{
callback(null,data);
}
});
谢谢 !
解决方案
如果您的目标是删除表中的所有数据,则有一个更有效、更便宜的选择:删除并重新创建表。
一个一个地删除很多项会花费很长时间,并且会花费很多(每次删除都算作1个WCU)。
推荐阅读
- python - Error34, '结果太大'
- excel - ComboBox 过滤另一个工作表中的数据
- python - 如何在 Python 中对 SQLite 中的行求和
- postgresql-9.5 - 仅从特定列 Postgres 中检索字母
- python-3.x - 缩放 QPixmap 以匹配 QTreeView 单元格列宽
- javascript - Javascript 函数不会等到 Promise 结束
- jenkins - 在 Jenkins 管道中创建和使用新凭证的最佳方式?
- java - $ keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts
- websocket - Mosquitto 1.6.10 基于 MQTT 的 Websocket
- deep-learning - 如何在 Detectron2 中保存和加载自定义数据集的模型?