Database powered by localStorage with JSON definition
- 📦 Tree-shakeable
- ⚡ Fast
- ✨ Lightweight
- ❤️ Strongly typed
npm i @reliutg/lsdb
no npm install needed!
<script type="module">
import Lsdb from 'https://cdn.skypack.dev/@reliutg/lsdb';
</script>
const lsdb = new Lsdb('dbname');
lsdb.collection(['categories', 'articles']);
lsdb.insert('categories', { title: 'Drinks' });
lsdb.insert('categories', { title: 'Dinner' });
lsdb.insert('categories', { title: 'Breakfast' });
lsdb.insert('articles', { title: 'Coffee', category: 'Drinks' });
Get single collection or all collection entries
lsdb.all();
// {categories: Array(2), articles: Array(0)}
lsdb.all('categories');
// [{title: 'Drinks'}, {title: 'Dinner'}, {title: 'Breakfast'}]
Based on MongoDB query selectors
$eq
- Equal$in
- In$nin
- Not in$ne
- Not equal$gt
- Greater than$gte
- Greater than or equal$lt
- Less than$lte
- Less than or equal
lsdb.find('categories', {
where: {
title: { $in: ['er'] },
},
});
lsdb.find('articles', {
where: {
category: { $eq: 'Drinks' },
},
});
lsdb.findOne('categories', {
where: {
_id: { $eq: id },
},
});
lsdb.update('categories', {
where: {
_id: { $eq: id },
},
});
lsdb.delete('categories', {
where: {
_id: { $eq: id },
},
});
Thanks goes to these wonderful people (emoji key):
Aneesh Relan |
Zymantas Maumevicius 🚇 💻 |
Nitkalya Wiriyanuparb |
Connor Ruggles 🚇 💻 |
MAKSS 📖 |
Vasiliy Vanchuk 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!