Skip to content

Node.js Bindings

TensorDB provides Node.js bindings via napi-rs, enabling JavaScript and TypeScript applications to use the database.

Installation

Terminal window
npm install tensordb

Quick Start

const { Database } = require('tensordb');
// Open a database
const db = Database.open('my_data');
// Create a table
db.sql("CREATE TABLE users (id TEXT, name TEXT, email TEXT)");
// Insert data
db.sql("INSERT INTO users VALUES ('u1', 'Alice', 'alice@co.com')");
// Query
const results = db.sql("SELECT * FROM users");
console.log(results);

TypeScript

import { Database, Config, Value } from 'tensordb';
const db = Database.open('my_data');
// Type-safe operations
const results: QueryResult = db.sql("SELECT * FROM users WHERE id = $1", ["u1"]);
for (const row of results.rows) {
console.log(`${row.name}: ${row.email}`);
}

Key-Value API

// Write
db.put('user/alice', 'Alice Chen');
// Read
const value = db.get('user/alice');
// Scan
const entries = db.scanPrefix('user/');
for (const [key, value] of entries) {
console.log(`${key}: ${value}`);
}

Configuration

const config = new Config();
config.shardCount = 8;
config.memtableMaxBytes = 8 * 1024 * 1024;
const db = Database.open('my_data', config);

Building from Source

Terminal window
cd crates/tensordb-node
npm install
npm run build