---
title: "Overview: Aerospike Node.js client"
description: "Overview of Aerospike Node.js client features: async patterns, batch and transaction APIs, queries, UDFs, and observability."
---

# Overview: Aerospike Node.js client

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

## Feature highlights

**Execution models:**

-   Promises and async/await: Non-blocking database operations using modern JavaScript patterns. See [Asynchronous operations](https://aerospike.com/docs/develop/client/node/best-practices/operations).
-   Callbacks: Supported for existing codebases.
-   Cluster module: Run concurrent workloads across processes with the [Cluster module](https://aerospike.com/docs/develop/client/node/async/cluster).

**Advanced data operations:**

-   Batch protocol: Combine reads, writes, deletes, and UDF calls in [batch operations](https://aerospike.com/docs/develop/client/node/usage/multi/batch).
-   Transactions: Group create, update, read, and delete steps in [multi-record transactions](https://aerospike.com/docs/develop/client/node/usage/multi/transactions) (Database 8.0.0.0 and later).
-   Query types: [Primary-index](https://aerospike.com/docs/develop/client/node/usage/multi/queries/primary), [secondary-index](https://aerospike.com/docs/develop/client/node/usage/multi/queries/secondary), and [background](https://aerospike.com/docs/develop/client/node/usage/multi/queries/background) queries.

**Policy and expression enhancements:**

-   Policies: Tune timeouts, retries, consistency, and write behavior with [client policies](https://aerospike.com/docs/develop/client/node/best-practices/policies).
-   Filter expressions: Conditional reads and writes with [expressions](https://aerospike.com/docs/develop/client/node/usage/atomic/expressions).
-   Path expressions: Server-side [path expression](https://aerospike.com/docs/develop/expressions/path/advanced/) support for advanced filtering operations.

**Data model improvements:**

-   Document model: Store and query JSON-like documents using [Map bins](https://aerospike.com/docs/develop/client/node/usage/document/create).
-   Type support: All Aerospike [scalar and collection data types](https://aerospike.com/docs/develop/client/node/data-types), including Lists, Maps, HyperLogLog, and geospatial bins.

**Operations and observability:**

-   Metrics: Collect standard and extended client metrics programmatically or through [Dynamic Client Configuration](https://aerospike.com/docs/develop/learn/dynamic-client-config/).
-   Security: Connect with username/password authentication and [mutual TLS (mTLS)](https://aerospike.com/docs/develop/client/node/mtls).

See the [release notes](https://github.com/aerospike/aerospike-client-nodejs/releases) for version history.

## Ready to get started?

Quickstart

Check out the Aerospike client Quickstart for installation instructions and query examples.

[Quickstart →](https://aerospike.com/docs/database/quick-start)

Best practices

Already familiar with the Node.js client? Our best practices guide can help you optimize for performance and reliability.

[Best practices →](https://aerospike.com/docs/develop/client/node/best-practices/policies)

Error handling

Actionable errors with recovery suggestions. Know exactly what went wrong and how to fix it.

[Error handling →](https://aerospike.com/docs/develop/client/node/error-handling)

Usage examples

Want to dive straight into the API? We have usage examples for all the basic CRUD operations.

[Usage examples →](https://aerospike.com/docs/develop/client/node/usage/atomic/create)