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

miningo

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

miningo

Tiny embedding document-oriented database written in typescript.

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

Miningo Build Status

Tiny embedding document-oriented database written in typescript.

  • For playground / experimental / simple / application use.
  • For who not want to use mongodb / redis / postgress, but want to use database.

installation

$ npm i miningo

API

import

  • esmodule / ts
import miningo from 'miningo'
  • commonjs
const miningo = require('miningo').default

create client

const db = miningo()

create client with adapter

// default
import InMemoryAdapter from 'miningo/adapters/InMemoryAdapter'
const db = miningo(new InMemoryAdapter())

// persistent json storage. save json to dataDir. very low performance.
import JsonStorageAdapter from 'miningo/adapters/JsonStorageAdapter'
const db = miningo(new JsonStorageAdapter('./data'))

// persistent storage faster than json storage.
import FastStorageAdapter from 'miningo/adapters/FastStorageAdapter'
const db = miningo(new FastStorageAdapter('./data'))

// persistent local storage for browser.
import LocalStorageAdapter from 'miningo/adapters/LocalStorageAdapter'
const namespace = 'test'
const db = miningo(new LocalStorageAdapter(namespace))


// commonjs
const JsonStorageAdapter = require('miningo/adapters/JsonStorageAdapter').default

create or get collection

interface Human {
  name: string
}

const Human = db.collection<Human>('Human')
// or you can use json schema
const Human = db.collection<Human>('Human', {
  name: { type: 'string' }
})

drop collection

await Human.drop()

insert document

const you = await Human.insert({ name: 'you' })

insert documents

const [you, me] = await Human.insertMany([{ name: 'you' }, { name: 'me' }])

find document

const doc = await Human.find(you._id)

find all documents

const docs = await Human.findAll()

find documents by ids

const docs = await Human.findMany([you._id, me._id])

find documents by very simple query (not support operators such as $or, $in ...)

const [you] = await Human.findBy({ name: 'you' })

update document

const updated = await Human.update(you._id, { name: 'me' })

remove document

const removed = await Human.remove(you._id)

remove documents

const removed = await Human.removeMany([you._id, me._id])

collection size

await Human.size()

Keywords

database

FAQs

Package last updated on 19 Nov 2018

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