KV
About
KV is a simple MongoDB based key value store.
If you're looking for a key value library that supports more than just MongoDB checkout keyv
If you're looking for a CLI checkout this
Installation
npm i @qgisk/kv mongoose
Example
Simple quick start example
import {KV} from '@qgisk/kv';
const {KV} = require('@qgisk/kv');
const kv = new KV('uri', 'namespace');
await kv.set('key', 'value');
await kv.get('key');
Multiple namespaces
Using multiple namespaces so you dont get conflicts
const users = new KV(undefined, 'users');
const posts = new KV(undefined, 'posts');
await users.set('one', 'user');
await posts.set('one', 'post');
await users.get('one');
await posts.get('one');
All values in namespace
Easily get all values in a namespace
const users = new KV(undefined, 'users');
await users.set('one', 'user');
await users.set('two', 'user');
await users.all();
Delete a key
Delete key in your current namespace
const users = new KV(undefined, 'users');
await users.del('one', 'user');
await users.get('one');
Clear a namespace
Clear a whole namespace
const users = new KV(undefined, 'users');
await users.set('one', 'user');
await users.clear();
await users.get('one');
Mongoose error events
const kv = new KV('mongodb://123/');
kv.on('error', e => console.log(e));
TTL
const kv = new KV(undefined, 'ttl');
await kv.set('test', 'hi', 5000);
setTimeout(() => console.log(await kv.get('test')), 5000);
MIT Demian