4.10.0 • Published 11 months ago
@reliutg/lsdb v4.10.0
lsdb
Typed localStorage database powered by with JSON definition
Features
- 📦 Tree-shakeable
- ⚡ Fast
- ✨ Lightweight
- ❤️ Strongly typed
Installation
npm i @reliutg/lsdbWith Skypack
no npm install needed!
<script type="module">
import Lsdb from 'https://cdn.skypack.dev/@reliutg/lsdb';
</script>We’ll start by setting up a database:
const lsdb = new Lsdb('dbname');Creating list of collections
// Create multiple collections
lsdb.collection(['categories', 'articles']);
// Create single collection
lsdb.collection('categories');Inserting
lsdb.insert('categories', { title: 'Drinks' });
lsdb.insert('categories', { title: 'Dinner' });
lsdb.insert('categories', { title: 'Breakfast' });
lsdb.insert('articles', { title: 'Coffee', category: 'Drinks' });lsdb.insertMany('categories', [{ title: 'Drinks' }, { title: 'Dinner' }, { title: 'Breakfast' }]);Getting data
Get single collection or all collection entries
lsdb.all();
// {categories: Array(2), articles: Array(0)}
lsdb.all('categories');
// [{title: 'Drinks'}, {title: 'Dinner'}, {title: 'Breakfast'}]Get a list of documents
lsdb.find('categories', {
where: {
category: { $in: ['Drinks'] },
},
});
lsdb.find('articles', {
where: {
category: { $eq: 'Drinks' },
},
});
lsdb.find('articles', {
sort: {
field: 'title',
order: 'asc'
},
limit: 2,
skip: 1,
});Find Options
| Field | Type | Description | Default | Required |
|---|---|---|---|---|
where | Object | Filter by object | undefined | false |
sort | Object | Sort by field name | undefined | false |
limit | number | Limit number of results | undefined | false |
skip | number | Skip number of results | 0 | false |
Available operators for where
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
Get a single document matching the query
lsdb.findOne('categories', {
where: {
_id: { $eq: id },
},
});Updating
Update a single document matching the query
lsdb.update('categories', {
where: {
_id: { $eq: id },
},
});Removing
Remove a single document matching the query
lsdb.delete('categories', {
where: {
_id: { $eq: id },
},
});Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
4.10.0
11 months ago
4.9.1
3 years ago
4.9.0
3 years ago
4.8.1
4 years ago
4.8.0
4 years ago
4.7.4
4 years ago
4.8.2
4 years ago
4.7.2
4 years ago
4.7.1
4 years ago
4.7.3
4 years ago
4.6.1
4 years ago
4.6.5
4 years ago
4.5.0
4 years ago
4.4.0
4 years ago
4.2.0
4 years ago
4.1.0
4 years ago
4.0.0
4 years ago
3.0.0
4 years ago
2.2.0
4 years ago