node-ejdb-lite
TypeScript icon, indicating that this package has built-in type declarations

2.73.30 • Public • Published

EJDB2 Node.js native binding

Embeddable JSON Database engine http://ejdb.org Node.js binding.

See https://github.com/Softmotions/ejdb/blob/master/README.md

This project automatically builds the c to node bindings in GitHub actions, then stores them in the Github releases.

This means you can install ejdb on an Linux, Alpine or macOS machine, without the need for c, gcc, make or any other build tools.

For full information on ejdb2, please visit the official project repository.

Differences from official library

The official EJDB2 library for nodejs is fantastic, but this library has a few differences:

  • No build from source required (binaries precompiled and stored in github releases)
  • Therefore, no cmake, make or g++ required to install
  • Fallback to build from source when no compatible prebuilt binary found
  • Removed all typescript and yarn usages
  • Fixes a bug with unicode characters in JSON

Example usage

import { EJDB2 } from 'node-ejdb-lite';

async function run() {
  const db = await EJDB2.open('example.db', { truncate: true });

  let id = await db.put('parrots', { name: 'Bianca', age: 4 });
  console.log(`Bianca record: ${id}`);

  id = await db.put('parrots', { name: 'Darko', age: 8 });
  console.log(`Darko record: ${id}`);

  const q = db.createQuery('/[age > :age]', 'parrots');

  for await (const doc of q.setNumber('age', 3).stream()) {
    console.log(`Found ${doc}`);
  }

  await db.close();
}

run();

Supported platforms

  • Linux x64
  • Linux aarch64
  • Alpine Linux
  • OSX

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i node-ejdb-lite

    Weekly Downloads

    8

    Version

    2.73.30

    License

    MIT

    Unpacked Size

    57.9 kB

    Total Files

    12

    Last publish

    Collaborators

    • markwylde