0.10.0 • Published 5 months ago

bumbledb v0.10.0

Weekly downloads
4
License
MIT
Repository
github
Last release
5 months ago

BumbleDB

Embedded, file-based database with MongoDB-like API for Node.js

Getting started

import initializeDb from 'bumbledb';

const dataDirectory = process.env.DATA_DIRECTORY ?? '.data';

const db = await initializeDb(dataDirectory);

const someDocument = { id: 1, name: 'Meredith', country: 'US' };
await db.collection('users').insertOne(someDocument);

const result = await db.collection('users').find({}).toArray();
console.log(result);

Insert data

insertOne

const someDocument = { id: 1, name: 'Meredith', country: 'US' };
await db.collection('users').insertOne(someDocument);

insertMany

const someDocuments = [
  { id: 1, name: 'Meredith', country: 'US' },
  { id: 2, name: 'Monika', country: 'DE' }
];
await db.collection('users').insertMany(someDocuments);

Query data

findOne

const result = await db.collection('users').findOne({ id: 5 });

find

Get all documents

const result = await db
  .collection('users')
  .find({})
  .toArray();

Get documents matching query

const result = await db
  .collection('users')
  .find({ name: 'Monika', country: 'DE' })
  .toArray();

Query using nested attributes

const result = await db
  .collection('users')
  .find({ 'address.country': 'DE' })
  .toArray();

Update data

update

const newDocument = { id: 1, name: 'users', country: 'US' };
await db.collection('users').update({ id: 1 }, newDocument);

Delete data

delete

const affected = await db.collection('users').delete({ id: 1 });
0.10.0

5 months ago

0.9.0

5 months ago

0.8.0

5 months ago

0.5.0

6 months ago

0.7.0

5 months ago

0.5.2

6 months ago

0.6.0

6 months ago

0.5.1

6 months ago

0.4.0

1 year ago

0.3.0

3 years ago

0.2.0

4 years ago

0.1.1

5 years ago

0.1.0

5 years ago