3.1.5 • Published 5 years ago

db-finger v3.1.5

Weekly downloads
5
License
ISC
Repository
github
Last release
5 years ago

Finger

Is a Promised indexeddb wrapper

Examples

Init

import Db from './DatabaseStore.js'

let db = new Db
({
	name		: 'database_name'
	,version	: 1
	,stores		:{
		user: {
			keyPath	: 'id'
			,autoIncrement: true
			,indexes	:
			[
				{ indexName: 'name', keyPath:'name', objectParameters: { unique : false, multiEntry: false, locale: 'auto'  } }
				,{ indexName: 'age', keyPath:'age', objectParameters: { unique : false, multiEntry: false, locale: 'auto'  } }
				,{ indexName: 'tagIndex', keyPath:'tags', objectParameters: { unique : false, multiEntry: true , locale: 'auto'  } }
			]
		}
		,notes:
		{
			keyPath : null
			,autoIncrement : false
		}
	}
});


await db.init();

Add records

await db.addItems('user',[
{
	name: 'Fulanito'
	last_name: 'detal'
	tags: ['anon','anonimous','Jhon Doe', 'male']
}]);

Get Single Item

let user = await db.get('user',1);

Insert and do not throw errors on duplicate items

let ignore_on_duplicates = true;
let users = [
	{
		name : 'Jhon',
		last_name : 'Doe',
		age : 20,
		tags: ['anon','anonimous','Jhon Doe', 'male']
	},
	{
		name: Jane
		last_name: 'Doe'
		age: 19
		tags:['anon','anonimous','female']
	}
];

await db.addItems( 'user', users, ignore_on_duplicates );

search, remove, count, keys, getByKey

You can use >,=,>=,<= for queries

Default keypath as index in this case id

All users with id = 1
let users = await db.getAll('user',{ '=' : 1 });

using name as index

let users = await db.getAll('user',{index: 'name' , '=' : 'Jhon' });

Count examples

let total_users = await db.count('user');
let users_count = await db.count('user',{'index':'name','=': 'Jhon' });
let removed_count = await db.removeAll('user',{'index':'age','>',9 });
let all_ids = await db.getAllKeys('user',{'index':'age','>':9});

Using age as index

let users_gt_19 = await db.getAll('user',{index : 'age', '>' : 19 });

Get a list of all users who are 18,17 or 19

let users = await db.getByKey('user',[1,2,4,9,20],{ index:'age'})

item deletion

You can use the same querires as the search

let removed_count  = await db.removeAll('user',{ index: 'age', '<' : 9 });

Remove by Ids

let removed_count = await db.removeByKeyIds('user',[ 1,2,3,4]);

Other functions

getStoreNames

clear

Remove all the items in a the specified object stores
await db.clear('user','notes',etc);
3.1.5

5 years ago

3.1.4

5 years ago

3.1.3

5 years ago

3.1.2

5 years ago

3.1.1

5 years ago

3.1.0

5 years ago

3.0.8

5 years ago

3.0.7

5 years ago

3.0.6

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.0.7

5 years ago

2.0.6

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.3.5

5 years ago

1.3.4

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.5

6 years ago

1.2.4

6 years ago

1.2.3

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.3

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago