Editing records
For the complete documentation index see: llms.txt
All documentation pages available in markdown.
Aerospike Voyager lets you create, edit, and delete records directly in the data browser. Destructive operations (deletes, truncates) require confirmation by default so you can explore safely during development.
Safety guardrails
Voyager shows a confirmation dialog before executing destructive operations such as deleting a record or truncating a set. This behavior is controlled by the Confirm destructive edits setting in Settings, which is enabled by default.
Adding a new record
Open the Add new record dialog from either entry point:
- Click the + New record button in the data browser toolbar.
- In the sidebar, open a namespace’s actions menu (⋮) and choose + New record. This entry point creates a record and a new set, if needed, without first opening an existing set.
- At the top of the dialog, fill in:
- Namespace: Pre-filled with the current namespace when opened from a set or namespace view.
- Set: Editable from both entry points. Pre-filled with the current set when opened from a set view, or blank when opened from the namespace menu. If the set name does not already exist in the namespace, Voyager creates it on first write and warns you that the change will create a new set.
- Key: Enter the user key for the record.
- In the Bins section, add one or more bins:
- Enter a Bin name.
- Select a Data type from the dropdown.
- Enter the Value. For list, map, and GeoJSON values, a JSON editor is available.
- Click + Add bin to add another bin.
- (Optional) Expand Policies (Advanced) to override defaults:
- Send key toggle: store the user key with the record so it can be retrieved on subsequent reads.
- TTL (seconds):
0= never expires. Use-1for namespace default,-2to keep existing TTL.
- (Optional) Expand Code snippets (Experimental) to view equivalent SDK code in Golang, Java, JavaScript, Python, and C++ (in that order). Copy a snippet to reproduce the same write programmatically.
- Click Save to write the record to the cluster.
Editing an existing record
You can edit existing records inline using the tree-based bin editor on the record card. There is no separate dialog for editing.
- Edit Scalars (string, integer, double, boolean) inline:
- Hover over a row to highlight it. Scalar values show an editable treatment on hover.
- Click the value to put the row into edit mode. The row stays in edit mode until you confirm or cancel.
- Change the value, and the data type if needed, then click the confirm (✓) button to save or the cancel (✗) button to discard.
- A success toast confirms the save.
- You can only edit one bin at a time. If you try to edit a second bin while one is open, Voyager shows a warning so you finish or cancel the current edit first.
- Complex types (Map, List, GeoJSON) open in a JSON code editor where you can modify the structure at any nesting depth. The tree view lets you drill into nested maps and lists, and each level is editable in place.
Voyager preserves the original data type by default. If you change a value to a different type (for example, a string to an integer), a confirmation dialog appears before the type conversion is applied.
Supported data types
Voyager displays the following Aerospike data types: String, Integer, Double, Boolean, List, Map, Bytes, GeoJSON, and HLL. In the type selector the binary type is listed as blob, while the type badge on a bin labels it bytes.
The same set of data types is available across the New record, Add bin, and Modify bin flows. When editing, Bytes (blob) and HLL are read-only and appear disabled in the type selector. The remaining seven types can be written via the Add new record dialog and edited inline on existing records.
| Type | Description |
|---|---|
| String | UTF-8 text |
| Integer | 64-bit signed integer |
| Double | 64-bit IEEE 754 floating point |
| Boolean | True or false |
| List | Ordered collection (edited as JSON) |
| Map | Key-value collection (edited as JSON) |
| Bytes | Raw byte data (read-only) |
| GeoJSON | Geographic data in GeoJSON format (edited as JSON) |
| HLL | HyperLogLog (read-only) |
Deleting a bin
To remove a single bin from a record, click the delete icon next to the bin. Voyager prompts for confirmation before removing the bin.
Deleting a record
To delete an entire record:
- Click the delete button (trash icon) on the record card header.
- Confirm the deletion in the dialog.
If Durable Delete is enabled in Settings, Voyager writes a tombstone marker for the deleted record. This prevents the record from reappearing after a cold restart of the cluster. See Write policies for details.
Truncating a set
To remove all records from a set:
- Right-click the set in the sidebar, or click its actions menu (⋮).
- Select Truncate set.
- Confirm the operation in the dialog.
Write policies
Voyager applies write policies configured in Settings to all write operations. These policies control how the Aerospike client behaves when writing or deleting records.
| Setting | Default | Description |
|---|---|---|
| Send Key | On | Store the user key with records on write so it can be retrieved on subsequent reads. |
| Durable Delete | Off | Write a tombstone marker when deleting records. Prevents deleted records from reappearing after a cold restart. |
| Record Exists Action | Update | Controls what happens when writing to a key that already exists. |
Record exists action options
| Option | Behavior |
|---|---|
| update | Create the record if it does not exist, or update bins on an existing record. Existing bins not included in the write are preserved. |
| updateOnly | Update an existing record only. Fail if the record does not exist. |
| replace | Create the record if it does not exist, or replace the entire record (all bins) if it does. |
| replaceOnly | Replace an existing record only. Fail if the record does not exist. |
| createOnly | Create the record only. Fail if the record already exists. |