wavedb
v0.1.2
Published
Javascript document database based on LevelDB
Readme
WaveDB
Javascript document database based on LevelDB.
This library is meant for sites with low to medium traffic demands running on a single machine. It does not require installing a separate database server and is portable, moving your data is just zipping up the database directory and copying it somewhere else.
Install
In Node.js:
npm i wavedb
Usage
// Require library
const db = require('wavedb')()
// Create document, 'user' is the name of the model/collection
const result = await db('user').create({ email: '[email protected]' })
// Returns an object with the id
{ id: 'ck2a5xf2c0000okk3dbvz4n3i' }
// Update documents, changes all matches
const result = await db('user').update({ email: '[email protected]' }, { email: '[email protected]' })
// Returns the number of changed documents
{ n: 1 }
// Delete documents, deletes all matches
const result = await db('user').delete({ email: '[email protected]' })
// Returns the number of deleted documents
{ n: 1 }
// Get a single document
const result = await db('user').get({ email: '[email protected]' })
// Returns the document as a javascript object
{ id: 'ck2a5xf2c0000okk3dbvz4n3i', email: '[email protected]' }
// Get multiple documents
const result = await db('user').find({ email: '[email protected]' })
// Returns an array of the documents
[{ id: 'ck2a5xf2c0000okk3dbvz4n3i', email: '[email protected]' }]
// Count documents
const result = await db('user').count({ email: '[email protected]' })
// Returns the count as an integer
2
// Clear collection. WARNING: will wipe all your data for this collection
await db('user').clear()
// Close connections manually, useful for testing
await db.close()MIT licensed. Enjoy!
