JavaScript 数据库:LokiJS

jopen 10年前

LokiJS是一个内存数据库,优先考虑性能高于一切* LokiJS支持字段索引来实现更快的文件访问,性能也相当好(近50万OPS/ s)。其内置的DynamicView类也能用于数据子集的索引,达到更快的性能。 LokiJS支持集合,很像MongoDB中,并将数据以JSON格式保存到硬盘上(根据会话来恢复状态),所以你的数据是可移植的。 LokiJS兼容Node.js和浏览器。
JavaScript 数据库:LokiJS

安装

LokiJS is available on npm and bower. Run:
npm install lokijs
or:
bower install lokijs

用法

创建数据库:
var db = new loki('loki.json')
Pass the filename where to persist data

创建一个集合:
var children = db.addCollection('children')

插入一个文档:

children.insert({name:'Sleipnir', legs: 8})  children.insert({name:'Jormungandr', legs: 0})  children.insert({name:'Hel', legs: 2})

获取文档:

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:

children.mapReduce(     function( obj ){ return obj.legs; } ,     function( array ) {       var sum = 0;      for (var i=0; i < array.length; i++ ){         sum += array[i];      }      return ( sum / array.length ).toFixed(2);   });

项目主页:http://www.open-open.com/lib/view/home/1415151962262