亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

將json當數據庫一樣操作的javascript lib

2019-11-20 21:50:25
字體:
來源:轉載
供稿:網友

前段時間工作中用到Json數據,希望將一些簡單的增刪改查放到客戶端來做,這樣也能減少服務器端的壓力。分別查找了幾個可以對Json進行操作的javascript 類庫,最終選定了TAFFY DB。原因如下:
1、使用的是BSD開源協議,不用擔心商業使用限制。
2、一直在有人進行更新,并且不和其他框架(如Jquery,YUI,Dojo等)沖突
3、功能齊全――增刪改查、排序等等都有了。
4、小巧,壓縮后只有17k大小。
所以,工作完后,將這篇文章寫出來,并推薦這個類庫給大家,希望能夠幫助到那些正在尋找Json 查詢修改的Coder們一些幫主,并和大家一起交流學習。

TAFFY DB 基本信息
項目主頁:http://taffydb.com/
托管地址:https://github.com/typicaljoe/taffydb

使用方法:

復制代碼 代碼如下:

<script type="text/javascript" charset="utf-8" src="taffy-min.js"></script>

復制代碼 代碼如下:

// 創建空白數據庫
var db = TAFFY();
//創建包含一條數據的數據庫
var db = TAFFY({record:1,text:"example"})
 //通過數組創建數據庫,數組的元素為json格式的object(可多條)
var db = TAFFY([{record:1,text:"example"}])     
// 通過json格式字符串創建數據(可多條)   
var db = TAFFY('[{"record":1,"text":"example"}]')

查詢數據:
首先構建一個數據庫,以后的示例,都以這個數據庫為準。
復制代碼 代碼如下:

var db = TAFFY([//構建一個城市的數據庫,字段分別代表 省份、城市名、郵政編碼、排序
    { province:"北京", cityName:"北京", zipCode:"10001", orderNum:1},
    { province:"河北", cityName:"石家莊", zipCode:"10002", orderNum:2},
    { province:"河北", cityName:"保定", zipCode:"10003", orderNum:3},
    { province:"河北", cityName:"承德", zipCode:"10004", orderNum:4},
]);

1、根據字段值進行查詢
復制代碼 代碼如下:

var cities = db({province:"河北"});  //查詢所有province 值為"河北"的數據,并返回TAFFY格式的object
//console.log這個函數,只要在有控制臺的瀏覽器中,都可以用,比如火狐的firebug,還有谷歌瀏覽器的開發人員工具(按F12可呼出)
for(var i = 0; i< cities().count(); i++){
    //get()這個TAFFY的函數,可以將TAFFY的object數據轉化為json格式
    console.log("城市名", cities().get()[i].cityName);
}
console.log("第一條數據為:", cities().first()); // first()這個函數可以返回json格式的第一條數據

2、根據條件查詢 (具體條件請查閱 http://www.taffydb.com/writingqueries 的“Comparison Operators”小節

復制代碼 代碼如下:

//單條件查詢
//查詢 排序大于 2 的所有數據
db({ orderNum:{'>':2}});
//范圍查詢
//查詢排序大于2 并且 小于 4 的所有數據
db({ orderNum:{'>':2, '<':4}});
//多條件"與" 查詢
//查詢大于2,并且 小于4 ,并且 省份為 河北省 的數據
db({ orderNum:{'>':2, '<':4}, province:"河北"});
//多條件"或"查詢
// 查詢 排序  大于2 或者 小于 4 的數據
db({ orderNum:{'>':2}}, { orderNum : {'<':4}});
//指定數據內查詢(where in)
// 查詢 城市為  保定、石家莊 的數據
db({ cityName:['保定','石家莊']});

3、排序

復制代碼 代碼如下:

//單條件排序
db().order("orderNum desc");    // 根據orderNum 倒序
db().order("orderNum"); //正序
//多字段排序
db().order("orderNum desc, zipCode asc"); //先按照orderNum倒序,然后按照 zipCode正序

4、計算

復制代碼 代碼如下:

//求最大值
db().max("orderNum"); //得到orderNum的最大值,并返回
//求最小值
db().min("orderNum"); //得到最小的 orderNum
//求和
db().sum("orderNum"); //得到所有orderNum的和
//得到第一條數據
db().first();  //取第一條數據,并返回json格式
//得到最后一條數據
db().last(); //取最后一條,并返回json格式
//這個可以用來分頁 哈哈
db().start(15).limit(20); //從第15條數據開始,往后取20條

5、內置函數查詢,有些數據,需要在查詢的時候,就做一些計算,稍顯復雜,可以通過內置函數來查詢

復制代碼 代碼如下:

db().filter(function(){
    return this.cityName.length > 2;
});

添加數據

復制代碼 代碼如下:

//添加一條數據
db.insert({province:"湖南", cityName:"長沙", zipCode:"10005", orderNum:5});

刪除數據

復制代碼 代碼如下:

//刪除全部數據
db().remove();
//刪除所有orderNum 大于5的數據
db({orderNum:{'>':5}}).remove();

修改數據

復制代碼 代碼如下:

//將所有數據 的 orderNum修改為1
db().update({orderNum:1});

//將城市名為北京的 郵政編碼修改為 100000
db({cityName:"北京"}).update({zipCode:"100000"})

//將所有的orderNum 都加1
db().update(function(){
    this.orderNum = this.orderNum + 1;
    return this;
});
/*
特別說明:在有的時候,增刪查都沒有問題,唯獨修改的時候,會碰到報錯:找不到字段
這應該是TAFFY的一個小bug,遇到這個情況,重新初始化一下就好,需要用到一個函數
stringify(),這個是將TAFFY DB 的所有數據,變成字符串,所以遇到這種情況,就可以這樣做了:
*/
db = TAFFY(db().stringify()); //將內容重新初始化
db().update({column:value});

寫到這里,我想這個簡單的教程也就算是可以了,已經方便小菜們快速上手這個類庫了。
當然,其中還有很多是我沒有去提及,需要自己去查詢的,比如模糊查詢等等,更加復雜的操作。大家可以去項目的官方主頁去看。(英文)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品高清一区二区三区| 亚洲国模精品私拍| 欧美精品18videosex性欧美| 欧美日韩视频在线| 精品视频偷偷看在线观看| 欧美日韩亚洲视频| 久久偷看各类女兵18女厕嘘嘘| 成人激情春色网| 欧美一区二区三区四区在线| 中文字幕一区二区三区电影| 97在线观看免费高清| 精品视频偷偷看在线观看| 精品久久久国产| 亚洲欧美国产高清va在线播| 国产精品视频一区国模私拍| 亚洲影影院av| 欧美性生交大片免费| 国产精品视频免费在线观看| 欧美成人激情在线| 国产成人综合久久| 国产视频福利一区| 亚洲一区国产精品| 日本久久久a级免费| 亚洲视频电影图片偷拍一区| 精品自拍视频在线观看| 亚洲综合小说区| 国产精品成人一区二区| 亚洲最大福利视频网| 欧美成人午夜免费视在线看片| 亚洲天堂久久av| 国产精品高精视频免费| 久久免费视频在线| 亚洲v日韩v综合v精品v| 欧美极品美女视频网站在线观看免费| 亚洲白拍色综合图区| 日本一区二区三区在线播放| 欧美午夜久久久| 精品视频在线观看日韩| 日韩av一区二区在线观看| 国产精品一区二区三区久久久| 91久久在线播放| 亚洲字幕一区二区| 国产精品av免费在线观看| 粉嫩av一区二区三区免费野| 日韩中文在线观看| 亚洲免费人成在线视频观看| 亚洲日本成人女熟在线观看| 精品中文字幕乱| 91久久精品国产| 欧美成人免费播放| 国产综合久久久久| 欧美精品一区三区| 久久露脸国产精品| 亚洲色图综合网| 中文字幕在线看视频国产欧美| 亚洲欧美中文字幕| 欧美精品亚州精品| 日韩电影免费观看在线观看| 久精品免费视频| 国产美女精品免费电影| 亚洲免费高清视频| 久热爱精品视频线路一| 欧美国产日韩一区二区三区| 精品国产999| 国产精品成人观看视频国产奇米| 日韩高清免费观看| 久99九色视频在线观看| 国产啪精品视频网站| 亚洲第一区在线观看| 亚洲欧美日韩国产精品| 国产精品欧美日韩久久| 亚洲第一视频在线观看| 欧美在线观看网站| 91久久精品国产| 欧美人与性动交a欧美精品| 九九热这里只有在线精品视| 中文综合在线观看| 97色伦亚洲国产| 亚洲色图综合久久| 成人国产精品一区二区| 国外色69视频在线观看| 日韩欧美精品免费在线| 欧美性极品少妇精品网站| 亚洲精品乱码久久久久久按摩观| 欧美另类极品videosbestfree| 亚洲国产女人aaa毛片在线| 国产免费成人av| 久久久免费av| 91性高湖久久久久久久久_久久99| 久久在线免费观看视频| 欧美极品美女电影一区| 欧美精品第一页在线播放| 亚洲国产成人久久| 久热精品视频在线观看| 日韩成人中文字幕| 欧美激情极品视频| 色多多国产成人永久免费网站| 久久久久久av| 日韩精品中文字幕久久臀| 久久精品91久久久久久再现| 国产精品久久久久久久久久尿| 日韩精品视频在线观看免费| 国产亚洲a∨片在线观看| 日日骚久久av| 国产精品视频区1| 久久免费视频观看| 国产成+人+综合+亚洲欧美丁香花| 精品国产视频在线| 国产精品久久久久7777婷婷| 国产日韩换脸av一区在线观看| 欧美午夜性色大片在线观看| 欧美日韩国产精品一区二区三区四区| 欧美黑人巨大xxx极品| 高清欧美电影在线| 精品国产一区二区三区在线观看| 国产精品视频精品视频| 日韩av成人在线观看| 亚洲韩国欧洲国产日产av| 欧美韩日一区二区| 国产精品永久免费视频| 日本午夜精品理论片a级appf发布| 国产精品丝袜白浆摸在线| 亚洲精品98久久久久久中文字幕| 亚洲人成在线观看网站高清| 日韩高清a**址| 亚洲黄色在线观看| 国产黑人绿帽在线第一区| 精品中文字幕在线2019| 欧美疯狂xxxx大交乱88av| 久久艳片www.17c.com| 亚洲欧美国产精品| 亚洲国内高清视频| 欧美成人中文字幕| 国产精品第三页| 色播久久人人爽人人爽人人片视av| 日韩成人中文电影| 97视频免费观看| 97久久精品视频| 成人黄在线观看| 色噜噜亚洲精品中文字幕| 久久久久久久一区二区| 亚洲a级在线播放观看| zzijzzij亚洲日本成熟少妇| 精品美女永久免费视频| 蜜臀久久99精品久久久久久宅男| 亚洲精品白浆高清久久久久久| 亚洲国产欧美日韩精品| 国产精品美女久久久久久免费| 国产成人精品av在线| 国产一区二区三区三区在线观看| 欧美韩国理论所午夜片917电影| 亚洲欧美日韩精品久久奇米色影视| 欧美片一区二区三区| 91麻豆国产语对白在线观看| 亚洲香蕉av在线一区二区三区| 国产精品久久久久免费a∨大胸| 久热精品视频在线免费观看| 欧美高清一级大片| 国产视频福利一区| 亚洲成人xxx| 911国产网站尤物在线观看| 日av在线播放中文不卡| 久久这里只有精品视频首页| 日韩av片免费在线观看|