Files
lancedb/nodejs
Wyatt Alt 2612ecadcb feat: declare computed columns by SQL expression
add_columns().computed("doubled", "x * 2") stores the expression in field
metadata and commits the column empty; a later refresh fills it. Type and
inputs are derived from the expression.

The declaration stays authoritative for its lifetime: writes that would give
the column a value (append, update, merge, SQL insert), schema changes that
would break the stored expression or reshape its output, metadata edits,
volatile expressions, declaration metadata arriving through any path but the
validated declare call, and LSM write specs in either order against latest
committed state are all refused. The LSM check also refuses on the mem-wal
catch-up feature flag, which outlives unset and marks retained SSTable rows.
Simultaneous declare/install interleavings conflict at commit via lance's
mem-wal rule (lance#8539). Local tables only.
2026-08-14 09:19:48 -07:00
..
2025-03-21 10:56:29 -07:00
2025-01-29 08:27:07 -08:00

LanceDB JavaScript SDK

A JavaScript library for LanceDB.

Installation

npm install @lancedb/lancedb

This will download the appropriate native library for your platform. We currently support:

  • Linux (x86_64 and aarch64 on glibc and musl)
  • MacOS (Intel and ARM/M1/M2)
  • Windows (x86_64 and aarch64)

Usage

Basic Example

import * as lancedb from "@lancedb/lancedb";
const db = await lancedb.connect("data/sample-lancedb");
const table = await db.createTable("my_table", [
  { id: 1, vector: [0.1, 1.0], item: "foo", price: 10.0 },
  { id: 2, vector: [3.9, 0.5], item: "bar", price: 20.0 },
]);
const results = await table.vectorSearch([0.1, 0.3]).limit(20).toArray();
console.log(results);

The quickstart contains more complete examples.

Development

See CONTRIBUTING.md for information on how to contribute to LanceDB.