ti-loki
v1.0.1
Published
LokiJS in-memory database persistence on Titanium
Downloads
18
Maintainers
Readme
Ti-Loki
Overview
LokiJS is a document oriented database written in javascript, published under MIT License. Its purpose is to store javascript objects as documents in a nosql fashion and retrieve them with a similar mechanism.
LokiJS supports indexing and views and achieves high-performance through maintaining unique and binary indexes (indices) for data.
Main Features
- Fast performance NoSQL in-memory database, collections with unique index (1.1M ops/s) and binary-index (500k ops/s)
- Runs in multiple environments (browser, node, titanium)
- Dynamic Views for fast access of data subsets
- Built-in persistence adapters, and the ability to support user-defined ones
- Changes API
- Joins
Installation
Using NPM:
npm install ti-loki --save
Using gitTio:
gittio install ti-loki
Or download the latest zip file and place it in the root of your project. Add the module in the tiapp.xml
:
<module platform="commonjs">ti-loki</module>
Usage
Require:
var Loki = require('ti-loki');
Creating a database:
var db = new Loki('example.db');
Add a collection:
var users = db.addCollection('users');
Insert documents:
users.insert({
name: 'Odin',
age: 50,
address: 'Asgard'
});
// alternatively, insert array of documents
users.insert([{ name: 'Thor', age: 35}, { name: 'Loki', age: 30}]);
Simple find query:
var results = users.find({ age: {'$gte': 35} });
var odin = users.findOne({ name:'Odin' });
Simple where query:
var results = users.where(function(obj) {
return (obj.age >= 35);
});
Simple Chaining:
var results = users.chain().find({ age: {'$gte': 35} }).simplesort('name').data();
Simple named transform:
users.addTransform('progeny', [
{
type: 'find',
value: {
'age': {'$lte': 40}
}
}
]);
var results = users.chain('progeny').data();
Simple Dynamic View:
var pview = users.addDynamicView('progeny');
pview.applyFind({
'age': {'$lte': 40}
});
pview.applySimpleSort('name');
var results = pview.data();
To complete documentation, please visit Loki and documentation.