LokiJS:純JavaScript實現的輕量級數據庫
LokiJS一個輕量級的面向文檔的數據庫,由JavaScript實現,性能高於一切。目的是把JavaScript對象作爲文檔,然後再進行存儲,並且以同樣的方式來檢索數據。 LokiJS可以運行於Node.js和所有支持JavaScript的瀏覽器、移動應用程序上。
LokiJS支持字段索引來實現更快的文件訪問,性能也相當好(近50萬OPS/ s)。其內置的DynamicView類也能用於數據子集的索引,達到更快的性能。 LokiJS支持集合,很像MongoDB,並將數據以JSON格式保存到硬盤上(根據會話來恢復狀態),所以你的數據是可移植的。
採用LokiJS的最理想情景:
移動應用程序——尤其是基於HTML5的(例如:Cordova,Phonegap等等)
基於Node.js的小——中型應用程序的數據存儲
採用Node-Webkit的桌面應用程序
LokiJS目前還處在alpha階段。源碼託管在Github上。
快速安裝:
創建一個數據庫:
var db = new loki('loki.json')
Pass the filename where to persist data
創建一個集合:
var children = db.addCollection('children')
插入一個文檔:
保存:
db.save() ;
檢索/獲取文檔:
children.get(1); // returns Sleipnir
children.find( {'name':'Sleipnir'} )
children.find( { legs: { '$gt' : 2 } } )
創建一個動態視圖:
var legs = children.addDynamicView('legs');
legs.applyFind( { legs: { '$gt' : 2 } )
legs.applySimpleSort('legs');
legs.data();
MapReduce:
LokiJS保存位置:
LokiJS默認使用localStorage保存數據。
在cordova
的app開發中可以配合cordova-plugin-file插件將數據保存在json文件中。
LokiJS相關資料:
官網:http://lokijs.org/
託管地址:https://github.com/techfort/LokiJS