Skip to content

abdennour/in-mem

Repository files navigation

Build Status Coverage Status

Overview :

In-memory NoSQL database which accepts any Javascript object including JSON data of course.

In-memory terminology has two meanings according to the side:

  • Client Side : In-memory 👉🏼 if the page is not reloaded or left.

  • Server Side : In-memory 👉🏼 if the application is still running.

Install

npm install in-mem --save;

or as CDN :

<script src="https://cdn.rawgit.com/abdennour/in-mem/9b5f99b7/cdn/in-mem-latest.min.js" type="text/javascript"></script>

Example :

import {insert, find} from 'in-mem';

const personA = insert('person', {firstname:'Ahmed'});

find(personA.id) // {id: '...',firstname:"Ahmed", dateCreated: "2017-02-12T07:24:57.612Z"}

Example when using CDN not NPM:

<script src="https://cdn.rawgit.com/abdennour/in-mem/9b5f99b7/cdn/in-mem-latest.min.js" type="text/javascript"></script>
<script >
 const {insert, find} = inMem;

 const personA = insert('person', {firstname:'Ahmed'});

 find(personA.id) // {id: '...',firstname:"Ahmed", dateCreated: "2017-02-12T07:24:57.612Z"}

</script>

Syntax :

insert('table_name', record);
insert('table_name', record1, record2,..., recordN);

findAll('table_name');
findAll('table_name', (record) => record.firstname === 'Ahmed');

findById('table_name', id);

find('table_name', (record) =>  record.firstname === 'Ahmed');

update('table_name', (record) => record.firstname === 'Ahmed', id, {lastname:  'Toto'});
// update(TABLE, where, newRecord, override = false)
// --- OR ---
// update(TABLE, where, (current) => newRecord, override = false )

del('table_name') // delete the whole table
del('table_name', id);

License:

MIT .