對localStorage操作的封裝:StoreDB
StoreDB是一個基于localStorage的本地儲存庫,通過模擬MongoDB的一些API和概念(如“集(collection
)”和“文檔(document
)”),彌補了原生localStorage的多處不足,大大增強了localStorage的功能。
Why StoreDB?
-
StoreDB使你在無須配置數據庫的情況下,在靜態頁面中也能實現大量數據儲存和交互。這意味著你能用StoreDB非常簡便地建立一個功能強大的SPA(單頁面應用,Single Page Application)。
-
StoreDB也適用于demo產品的開發。比如,假定你正在參加編程馬拉松,你的團隊只不過是想做出一個用以展示的demo,卻不得不花費時間在遠程或本地架設server,再配置數據庫,白白浪費了寶貴的時間。使用StoreDB,你只需嵌入一段javascript代碼就能實現豐富的數據交互。
-
使用AngularJS配合StoreDB更是如虎添翼。
Quick Start
插入(Insert)
向名為players
的集合中插入一條文檔:
storedb('players').insert({"name":"Randy","sex":"male","score":20},function(err,result){ if(!err){ //do sth... } else //do sth... })
查詢(Find)
查詢players
集合中name
為Randy
的文檔:
storedb('players').find({"name":"Randy"},function(err,result){ if(!err){ //use result to do sth... } else //do sth... })
如果需要查詢集合中所有文檔,將參數設置為空即可:
storedb('players').find()
函數將返回一個數組類型。
更新(Update)
為players
集合中name
為Randy
的score
增加10
:
storedb('players').update({"name":"Randy"},{"$inc":{"score":"10"}},function(err){ if(!err){ //do sth... } else //do sth... })
你可能已經注意到,StoreDB擁有和MongoDB一樣的修改器!關于修改器類型請查看API。
如果修改器為空,則默認為$set
修改器:
storedb('players').update({"name":"Randy"}, {"sex":"male","name":"kriss"})
刪除(Remove)
刪除在players
集合中name
為Randy
的一條文檔:
storedb('players').remove({"name":"Randy"},function(err){ if(!err){ //do sth... } else //do sth... })
如果要把整個集合刪除,把參數設置為空:
storedb('players').remove()
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!