APIの使用による単一行の削除

DeleteRequest APIを使用し、主キーを使用して単一行を削除できます。

DeleteRequest APIを使用して、無条件削除および条件付き削除を実行できます。
  • 既存の任意の行を削除します。これがデフォルトです。
  • 行が存在し、そのバージョンが特定のバージョンと一致する場合にのみ成功します。この場合は、setMatchVersionを使用します。
こちらにあるサンプルの中からフル・コードModifyData.javaをダウンロードします。
//delete row based on primary KEY
private static void delRow(NoSQLHandle handle, MapValue m1) throws Exception {
   DeleteRequest delRequest = new DeleteRequest().setKey(m1).setTableName(tableName);
   DeleteResult del = handle.delete(delRequest);
   if (del.getSuccess()) {
     System.out.println("Delete succeed");
   }
   else {
     System.out.println("Delete failed");
   }
}
/*delete a single row*/
MapValue m1= new MapValue();
m1.put("acct_Id",1);
delRow(handle,m1);

主キー値を使用し、borneo.DeleteRequestを使用して、単一行を削除します。

こちらにあるサンプルの中からフル・コードModifyData.pyをダウンロードします。
#del row with a primary KEY
def del_row(handle,table_name):
   request = DeleteRequest().set_key({'acct_Id': 1}).set_table_name(table_name)
   result = handle.delete(request)
   print('Deleted data from table: stream_acct')
# delete row based on primary key
del_row(handle,'stream_acct')

DeleteRequestは、表から1行を削除するために使用します。行は、DeleteRequest.Keyで指定された主キーを使用して識別されます。

こちらにあるサンプルの中からフル・コードModifyData.goをダウンロードします。
//delete with primary key
func delRow(client *nosqldb.Client, err error, tableName string)(){
   key := &types.MapValue{}
   key.Put("acct_Id",1)
   delReq := &nosqldb.DeleteRequest{
   	TableName: tableName,
   	Key:       key,
   }
   delRes, err := client.Delete(delReq)
   if err != nil {
	fmt.Printf("failed to delete a row: %v", err)
	return
   }
   if delRes.Success {
	fmt.Println("Delete succeeded")
   }
}
delRow(client, err,tableName)

deleteメソッドを使用して、表から1行を削除します。メソッドの詳細は、NoSQLClientクラスを参照してください。

行の表名および主キーを渡す必要があります。また、以前にgetまたはputメソッドによって返された行のRowVersionを指定することで、削除操作を条件付きにできます。

JavaScript: こちらにあるサンプルの中からフル・コードModifyData.jsをダウンロードします。
/*delete row based on primary key*/
async function delRow(handle) {
   try {
      /* Unconditional delete, should succeed.*/
      var result = await handle.delete(TABLE_NAME, { acct_Id: 1 });
      /* Expected output: delete succeeded*/
      console.log('delete ' + result.success ? 'succeeded' : 'failed');
   } catch(error) {
      console.error('  Error: ' + error.message);
   }
}
await delRow(handle);
console.log("Row deleted based on primary key");
TypeScript: こちらにあるサンプルの中からフル・コードModifyData.tsをダウンロードします。
interface StreamInt {
   acct_Id: Integer;
   profile_name: String;
   account_expiry: TIMESTAMP;
   acct_data: JSON;
}
/*delete row based on primary key*/
async function delRow(handle: NoSQLClient) {
   try {
      /* Unconditional delete, should succeed.*/
      var result = await handle.delete<StreamInt>(TABLE_NAME, { acct_Id: 1 });
      /* Expected output: delete succeeded*/
      console.log('delete ' + result.success ? 'succeeded' : 'failed');
   } catch(error) {
      console.error('  Error: ' + error.message);
   }
}
await delRow(handle);
console.log("Row deleted based on primary key");

行を削除するには、DeleteAsyncメソッドを使用します。削除する行の表名および主キーを渡します。このメソッドでは、MapValueとして主キーが取られます。フィールド名は、表の主キー列名と同じである必要があります。

DeleteAsyncおよびDeleteIfVersionAsyncメソッドでは、Task<DeleteResult<RecordValue>>が返されます。DeleteResultインスタンスには、削除操作の成功ステータスが含まれます。削除操作は、指定された主キーがある行が存在しない場合や、これが条件付き削除であり指定された行バージョンが既存の行バージョンと一致しなかった場合は失敗する可能性があります。

こちらにあるサンプルの中からフル・コードModifyData.csをダウンロードします。
private static async Task delRow(NoSQLClient client){
   var primaryKey = new MapValue
   {
      ["acct_Id"] = 1
   };
   // Unconditional delete, should succeed.
   var deleteResult = await client.DeleteAsync(TableName, primaryKey);
   // Expected output: Delete succeeded.
   Console.WriteLine("Delete {0}.",deleteResult.Success ? "succeeded" : "failed");
}
await delRow(client);
Console.WriteLine("Row deleted based on primary key");