New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@reliutg/lsdb

Package Overview
Dependencies
Maintainers
0
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reliutg/lsdb

Database powered by localStorage with JSON definition

latest
Source
npmnpm
Version
4.10.0
Version published
Maintainers
0
Created
Source

lsdb

CI Issues Forks Stars All Contributors

Typed localStorage database powered by with JSON definition

Features

  • 📦 Tree-shakeable
  • ⚡ Fast
  • ✨ Lightweight
  • ❤️ Strongly typed

Installation

npm i @reliutg/lsdb

With 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

FieldTypeDescriptionDefaultRequired
whereObjectFilter by objectundefinedfalse
sortObjectSort by field nameundefinedfalse
limitnumberLimit number of resultsundefinedfalse
skipnumberSkip number of results0false

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):


Aneesh Relan

⚠️ 💻

Zymantas Maumevicius

🚇 💻

Nitkalya Wiriyanuparb

⚠️ 💻

Connor Ruggles

🚇 💻

MAKSS

📖

Vasiliy Vanchuk

💻

Pablo

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Keywords

database

FAQs

Package last updated on 05 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts