A Node.js engine for the SurrealDB JavaScript SDK.
This library is a plugin for the SurrealDB JavaScript SDK, which can be used to run SurrealDB as an embedded database within a Node.js server side environment.
It enables SurrealDB to be run in-memory, or to persist data by running on top of SurrealKV. It allows for a consistent JavaScript and TypeScript API when using the surrealdb.js
library by adding support for embedded storage engines (memory
, surrealkv
) alongside the remote connection protocols (http
, https
, ws
, wss
).
import { Surreal } from 'surrealdb';
import { surrealdbNodeEngines } from '@surrealdb/node';
// Enable the WebAssembly engines
const db = new Surreal({
engines: surrealdbNodeEngines(),
});
// Now we can start SurrealDB as an in-memory database
await db.connect("mem://");
// Or we can start a persisted SurrealKV database
await db.connect("surrealkv://demo");
// Now use the JavaScript SDK as normal.