# storing-me

> A practical Storage tool

Latest version **1.0.4** (published 2024-04-07) · ISC license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install storing-me
pnpm add storing-me
yarn add storing-me
bun add storing-me
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2024-04-07 |
| First published | 2023-09-23 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 8 |
| Unpacked size | 78.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Goran Topic |
| Maintainers | gorantopic |
| Keywords | save, store, storage, js, javascrip, nodejs |

## Links

- npm: https://www.npmjs.com/package/storing-me
- Repository: https://github.com/GoranTopic/storage-js
- Homepage: https://github.com/GoranTopic/storage-js#readme
- Issues: https://github.com/GoranTopic/storage-js/issues
- npm.io page: https://npm.io/package/storing-me

## Dependencies (8)

- [-](https://npm.io/package/-.md) ^0.0.1
- [fs](https://npm.io/package/fs.md) ^0.0.1-security
- [jest](https://npm.io/package/jest.md) ^29.7.0
- [path](https://npm.io/package/path.md) ^0.12.7
- [sqlite](https://npm.io/package/sqlite.md) ^5.0.1
- [mongodb](https://npm.io/package/mongodb.md) ^6.3.0
- [sqlite3](https://npm.io/package/sqlite3.md) ^5.1.6
- [async-mutex](https://npm.io/package/async-mutex.md) ^0.4.0

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 1.0.4 (latest) — 2024-04-07
- 1.0.3 — 2024-02-05
- 1.0.2 — 2023-11-15
- 1.0.1 — 2023-09-23

## README

dstore-js
=======
#### Ever wish writing stuff to disk was simple? Ever wish it would be easy to switch between databases? Well, fret no more. 
## Installation
```
npm install dstore-js
```
## JSON Type
```javascript
import Storage from 'dstore-js'

let storage = new Storage({
        type: 'json', // sqlite, csv, ..etc
        keyValue: false,
        path: './my_storages', // default: ./storage/
    });

let store = await storage.open('my_jsons')

let jsonToSave = { 'some': 'data' }

// save json
await store.set(jsonToSave)

// get json back
let json = await store.get(0)

// get all jsons
let jsons = await store.all()

// remove json
await store.remove(0)

// delete store along with all files
await store.delete()

```

## Mongodb 
```javascript
import Storage from 'dstore-js'

let storage = new Storage({
        type: 'mongodb',
        url: 'mongodb://0.0.0.0:27017',
        database: 'my_db'
    });

//Make a store object that will match a collection
let store = await storage.open(name);

// save json file
await store.set( { str: 'test', num: 123, bool: true } );

// get json file
let [ data ] = await store.get({ str: 'test' }); // { str: 'test', num: 123, bool: true }

// remove archive
await store.remove({ str: 'test' });

// get all record 
let all = await store.all();

// drop collection
await store.delete();
```

## Mongodb Files
```javascript
import Storage from 'dstore-js'

let storage = new Storage({
        type: 'mongodb',
        url: 'mongodb://0.0.0.0:27017',
        database: 'my_db'
    });

//Make a store object that will match a collection
let store = await storage.open(name);

// save json file
await store.set( { str: 'test', num: 123, bool: true } );

// get json file
let [ data ] = await store.get({ str: 'test' }); // { str: 'test', num: 123, bool: true }

// remove archive
await store.remove({ str: 'test' });

// get all record 
let all = await store.all();

// drop collection
await store.delete();
```

## Options
```javascript
new Storage({
  type, // type of db to be used. ex: json, cvs, sqlite,               
  path, // path where to store the db                   
  keyValue, // are we using a keyvalue pair to store data?  default: false           
  mutex, // use a mutex to avoid collisions? default: true
  url, // used of Mongodb and other network dbs
  database, // used of db like mongo
  })
```

---
_Source: https://npm.io/package/storing-me · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
