Delete
Jump to the Code block for a combined complete example.
Description
Demonstrates single record deleletions in an Aerospike database.
Setup
Boilerplate
The examples below leverage the following boilerplate to initialize the Aerospike module and connect to a server before deleting a record.
const Aerospike = await import("aerospike");
// Set hosts to your server's address and portconst config = { hosts: "YOUR_HOST_ADDRESS:YOUR_PORT" };
// Creates a key with the namespace "sandbox", set "ufodata", and user key 5001const key = new Aerospike.Key("sandbox", "ufodata", 5001);
// Establishes a connection to the serverconst client = await Aerospike.connect(config);
Policies
Just as Create and Update, Delete utilizes write policies that can be defined per command.
The following example creates a write policy that enables durable deletes.
// Can use a previously defined write policy or create a new oneconst deletePolicy = new Aerospike.WritePolicy({ durableDelete: true,});
Delete a record
Default policy
Aerospike deletes a record efficiently by only dropping the primary index entry. The record space on device is recovered during garbage collection.
The following example shows how to delete a record using the default write policy.
// Delete record with default write policyawait client.remove(key);
Durable deletes
When a command results in deletion of a record and the durable delete
write policy is set to true
, a tombstone record is written to disk to prevent previous versions of the record from returning during a cold restart.
Refer to Durable Deletes for more information.
The following example uses the write policy set above to durably delete a record.
// Durably delete a record with the write policyawait client.remove(key, deletePolicy);
Code block
Expand this section for a single code block to durably delete a record
const Aerospike = await import("aerospike");
// Set hosts to your server's address and port const config = { hosts: "YOUR_HOST_ADDRESS:YOUR_PORT" };
// Establishes a connection to the serverconst client = await Aerospike.connect(config);
// Creates a key with the namespace "sandbox", set "ufodata", and user key 5001const key = new Aerospike.Key("sandbox", "ufodata", 5001);
// Can use a previously defined write policy or create a new oneconst deletePolicy = new Aerospike.WritePolicy({ durableDelete: true,});
// Durably delete a record with the write policyawait client.remove(key, deletePolicy);
// Close the connection to the serverawait client.close();