OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

LokiJS:用JavaScript实现的面向文档的内存数据库


分享到
分类 JS开源   关键字 开源   发布 ourjs  1415929294481
注意 转载须保留原文链接,译文链接,作者译者等信息。  
LokiJS是一个内存数据库,将性能考虑放在第一位。
LokiJS支持索引和更快的文档访问,执行性能非常好(近50万OPS/秒)。其内置DynamicView类可以用于数据子集的索引,甚至获取更快的性能。

*阅读这篇文章来看一看LokiJS的性能表现。


LokiJS支持collections(数据集),跟MongoDB的很像,并且以JSON格式将数据保存到磁盘,所以你的数据是可移植的。

LokiJS即可运行在Node.js端和浏览器端。

JavaScript是一种简单易学,通用的语言,所以在javascript数据库开发非常很容易且非常高效。如果你的MongoDB还没有退休,在下面这些情况,您可能会发现LokiJS是更理想的解决方案:

  • 移动应用-特别是HTML应用。(Cordova, Phonegap)
  • Node.js内置的为小到中型应用设计的数据存储
  • 内置在桌面中的应用(Node Webkit)

LokiJS正在支持独立服务器,可使用http/tcp客户端访问。

选择你最喜欢的范式


LokiJS的功能完全利用了JavaScript的力量。
如果函数式编程是您的首选风格,那么你肯定会喜欢使用视图来查询数据。
您也可以使用您偏爱的MongoDB的shell来查询文本对象。



快速入门


安装


LokiJS 可在npm和bower中安装. 运行:

npm install lokijs 


bower install lokijs

使用


创建数据库:

var db = new loki('loki.json') 

传入你需要保存数据的JSON文件

创建数据集:

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);
 });


相关阅读


原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. Nginx的大计划:将原生支持JavaScript
  2. 将GO编绎成JavaScript,用GO语言来写前端代码
  3. NodeJS会是昙花一现吗?
  4. 不需要密码的登录
  5. Google收购Firebase,Fire加入谷歌云平台
  6. Go语言实例教程基础语法篇(一)
  7. 理解JavaScript中的事件路由冒泡过程及委托代理机制
  8. SpiderMonkey的JavaScript引擎[Firefox]性能超越V8[Chrome]
  9. Angular.JS出了什么问题?
  10. Debug调试Node.JS:我们是如何定位内存泄漏和无限循环的
  11. AirJD-简单好用的免费建站工具

 相关阅读 - JS开源
  1. 基于HTML5和JavaScript实现的Winamp MP3播放器
  2. Walkway用简单的方法为SVG元素添加动画效果
  3. 15个最好用的Node.JS后端框架
  4. 将GO编绎成JavaScript,用GO语言来写前端代码
  5. JuliusJS: 基于JavaScript的在线语音识别库
  6. PathFinding.js: 基于JavaScript的开源智能寻路算法库
  7. 了不起的Node.JS和前端资源:一些有用的资源列表
  8. 可访问的HTML5 Video视频播放器
  9. Animate.css让添加CSS动画像喝水一样容易
  10. LowDB - 基于Node的纯Json文件数据库

 关键字 - 开源
  1. 15个最好用的Node.JS后端框架
  2. Mongoose学习参考文档——基础篇
  3. Node.JS与USB接口通信:检测U盘/移动硬盘插拔事件和发送接数据
  4. 一个程序员是如何搞挂NPM和Node社区的
  5. 迫于社区压力:React(Native)16将更换成MIT开源协议
  6. 开源Node.js商城:基于Thinkjs+Mysql的开源微信小程序商城
  7. 使用NodeJS搭建邮件自动发送服务器
  8. NodeJS 文件(夹)压缩/解压方案(zip/unzip)-Linux上zip相关命令
  9. QRCode:用纯JavaScript实现的微信二维码图片生成器
  10. Stop-Server:用手机关闭你的电脑

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号