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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.73.30
    2
    • latest

Version History

Package Sidebar

Install

npm i node-ejdb-lite

Weekly Downloads

19

Version

2.73.30

License

MIT

Unpacked Size

57.9 kB

Total Files

12

Last publish

Collaborators

  • markwylde