• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# EJDB2 Node.js native binding
2
3Embeddable JSON Database engine http://ejdb.org Node.js binding.
4
5See https://github.com/Softmotions/ejdb/blob/master/README.md
6
7For API usage examples take a look into [/example](https://github.com/Softmotions/ejdb/tree/master/src/bindings/ejdb2_node/example) and [test.js](https://github.com/Softmotions/ejdb/tree/master/src/bindings/ejdb2_node/test.js)
8
9## Sample code
10
11```ts
12import { EJDB2 } from "ejdb2_node";
13
14async function run() {
15  const db = await EJDB2.open("example.db", { truncate: true });
16
17  var id = await db.put("parrots", { name: "Bianca", age: 4 });
18  console.log(`Bianca record: ${id}`);
19
20  id = await db.put("parrots", { name: "Darko", age: 8 });
21  console.log(`Darko record: ${id}`);
22
23  const q = db.createQuery("/[age > :age]", "parrots");
24
25  for await (const doc of q.setNumber("age", 3).stream()) {
26    console.log(`Found ${doc}`);
27  }
28
29  await db.close();
30}
31
32run();
33```
34
35## Supported platforms
36
37- Linux x64
38- OSX
39
40## Prerequisites
41
42- node >= v10.0.0
43- yarn
44- CMake >= v3.10
45- Make
46- gcc or clang compiler
47
48## How build it manually
49
50```sh
51git clone https://github.com/Softmotions/ejdb.git
52cd ./ejdb
53mkdir ./build && cd build
54cmake .. -DBUILD_NODEJS_BINDING=ON -DCMAKE_BUILD_TYPE=Release
55make
56cd src/bindings/ejdb2_node/ejdb2_node
57yarn pack
58```
59