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