Table Store提供了DeleteRow介面用於刪除單行資料以及BatchWriteRow介面用於大量刪除資料。
注意事項
刪除表資料,將導致資料不可恢複,請謹慎操作。
前提條件
刪除單行資料
調用DeleteRow介面刪除一行資料。如果刪除的行不存在,則不會發生任何變化。
介面
/**
* 刪除一行資料。
*/
deleteRow(params, callback)
參數
參數 | 是否必選 | 說明 |
tableName | 是 | 資料表名稱。 |
primaryKey | 是 | 行的主鍵。主鍵包括主鍵列名、主鍵類型和主索引值。 重要 設定的主鍵個數和類型必須和資料表的主鍵個數和類型一致。 |
condition | 是 | 使用條件更新,可以設定原行的存在性條件或者原行中某列的列值條件。更多資訊,請參見條件更新。 |
樣本
以下樣本用於刪除資料表中的指定行。
var TableStore = require('../index.js');
var Long = TableStore.Long;
var client = require('./client');
var params = {
tableName: "sampleTable",
condition: new TableStore.Condition(TableStore.RowExistenceExpectation.IGNORE, null),
primaryKey: [{ 'gid': Long.fromNumber(8) }, { 'uid': Long.fromNumber(80) }]
};
client.deleteRow(params, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', data);
});
詳細代碼請參見DeleteRow@GitHub。
大量刪除資料
根據實際選擇合適的方式查詢待刪除資料的主鍵資訊。
如果要刪除指定主鍵範圍內的資料,請調用GetRange介面,查詢指定主鍵範圍內的資料,並擷取待刪除資料的主鍵資訊。具體操作,請參見範圍讀取資料。
如果要刪除滿足指定條件的資料,請建立多元索引後,使用多元索引查詢滿足指定條件的資料,並擷取待刪除資料的主鍵資訊。具體操作,請參見建立多元索引和通過SDK使用多元索引。
調用BatchWriteRow介面,根據主鍵資訊大量刪除資料。更多資訊,請參見批量寫入資料。
相關文檔
如果要刪除指定天數之前的資料,您可以通過為資料表配置資料生命週期的方式自動清理到期資料。具體操作,請參見資料版本和生命週期。