【转】LokiJS:纯JavaScript实现的轻量级数据库
原文转自:http://www.html5cn.org/article-7091-1.html
LokiJS一个轻量级的面向文档的数据库,由JavaScript实现,性能高于一切。目的是把JavaScript对象作为文档,然后再进行存储,并且以同样的方式来检索数据。 LokiJS可以运行于Node.js和所有支持JavaScript的浏览器、移动应用程序上。
- 移动应用程序——尤其是基于HTML5的(例如: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相关资料:
托管地址:https://github.com/techfort/LokiJS
来源地址:http://www.csdn.net/article/2014-11-05/2822493-LokiJS?reload=1
【转】LokiJS:纯JavaScript实现的轻量级数据库的更多相关文章
- 纯javaScript、jQuery实现个性化图片轮播
纯javaScript实现个性化图片轮播 轮播原理说明<如上图所示>: 1. 画布部分(可视区域)属性说明:overflow:hidden使得超出画布部分隐藏或说不可见.position: ...
- JavaScript 一种轻量级的编程语言
JavaScript 一种轻量级的编程语言 作为一名计算机应用专业的学生,大一上学期开始接触了网页设计和制作,刚开始时感觉做网页很不错,简单地写几行代码就能做出效果来,当时感觉很兴奋,渐渐的喜欢上它 ...
- ECharts-基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表
ECharts http://ecomfe.github.com/echarts 基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算 ...
- LocalDB:微软的新生代轻量级数据库
什么是LocalDB 随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本.LocalDB专门为开发人员创建,它非常易 ...
- javascript日历控件——纯javascript版
平时只有下班时间能code,闲来写了个纯javascript版.引用该calendar.js文件,然后给要设置成日历控件的input的id设置成calendar,该input就会变成日历控件. < ...
- 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 10(排行榜界面&界面管理)
继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...
- 无需部署的轻量级数据库—SQLLite,使用Demo
当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择,只需引用System.Data.SQLite.DLL,无需部署数据库,便可像拥有数据库一样保存数据, ...
- 纯Javascript实现Windows 8 Metro风格实现
Metro风格设计主要特点 1.Windows 8 Metro风格设计,实现网站或系统功能的导航 2.纯Javascript实现 3.支持所有IE.360.Chrome等常用浏览器 4.支持圆角.阴影 ...
- 纯javascript联动的例子
有人想要学习下纯javascript联动的一些技巧,我这里就以日期的联动为例,附上一些代码至于复杂的省市区联动,不建议用纯javascript的,而是用ajax的方式,该不在此讨论范围内,想要了解aj ...
随机推荐
- document.compatMode属性和获取鼠标的位置
document.compatMode属性 document.compatMode用来判断当前浏览器采用的渲染方式. 官方解释: BackCompat:标准兼容模式关闭.CSS1Compat:标准兼容 ...
- treegrid and datagrid ctrl or shift selectRow
var tg = $('#tg');tg.treegrid({...}); // create treegridvar panel = tg.treegrid('getPanel');var body ...
- [问题2014A01] 解答三(升阶法,由董麒麟同学提供)
[问题2014A01] 解答三(升阶法,由董麒麟同学提供) 引入变量 \(y\),将 \(|A|\) 升阶,考虑如下行列式: \[|B|=\begin{vmatrix} 1 & x_1-a & ...
- C#带小括号的运算
计算类的封装 jisuan.cs using System; using System.Collections.Generic; using System.Linq; using System.Tex ...
- 学习mongo系列(三) update() save()
一.update()方法 >db.user.update({"name":"user1"},{$set:{"title":" ...
- MFC编程入门之十一(对话框:模态对话框及其弹出过程)
加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有了些解了,有个好的开始对于以后的学习大有裨益.趁热打铁,这一节讲讲什么是对话框和非模态对话框,以及模态对话框怎样弹出. 一.模态对话框和非 ...
- 用cxf开发restful风格的WebService
我们都知道cxf还可以开发restful风格的webService,下面是利用maven+spring4+cxf搭建webService服务端和客户端Demo 1.pom.xml <projec ...
- 博客打开慢?请禁用WordPress默认的谷歌字体!
最近几天,谷歌中国挂了之后,发现我的博客打开极慢,原以为是空间问题,可一查,发现同台服务器的用户打开并不慢,排除了空间问题后,这边查询元素发现博客打开时加载了一个链接地址“fonts.googleap ...
- oracle procedure
http://www.cnblogs.com/wuhenke/archive/2010/03/20/1690535.html
- App压力测试整理
压力测试结果:CRASH:崩溃,应用程序在使用过程中,非正常退出ANR:Application Not Responding MonkeyRunner APIs MonkeyRunner:用来连接设备 ...