【转】LokiJS:纯JavaScript实现的轻量级数据库

原文转自:http://www.html5cn.org/article-7091-1.html

 LokiJS一个轻量级的面向文档的数据库,由JavaScript实现,性能高于一切。目的是把JavaScript对象作为文档,然后再进行存储,并且以同样的方式来检索数据。 LokiJS可以运行于Node.js和所有支持JavaScript的浏览器、移动程序上。 

       LokiJS支持字段索引来实现更快的文件访问,性能也相当好(近50万OPS/ s)。其内置的DynamicView类也能用于数据子集的索引,达到更快的性能。 LokiJS支持集合,很像MongoDB,并将数据以JSON格式保存到硬盘上(根据会话来恢复状态),所以你的数据是可移植的。         采用LokiJS的最理想情景: 移动应用程序——尤其是基于的(例如:Cordova,Phonegap等等) 基于Node.js的小——中型应用程序的数据存储 采用Node-Webkit的桌面应用程序 LokiJS目前还处在alpha阶段。源码托管在Github上。 快速安装:[js] 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); }); 复制代码 LokiJS相关资料:官网:托管地址:来源地址:
42人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册