對localStorage操作的封裝:StoreDB

jopen 10年前發布 | 33K 次閱讀 StoreDB JavaScript開發

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集合中nameRandy的文檔:

storedb('players').find({"name":"Randy"},function(err,result){
  if(!err){
    //use result to do sth...
  } else //do sth...
})

如果需要查詢集合中所有文檔,將參數設置為空即可:

storedb('players').find() 

函數將返回一個數組類型。

更新(Update)

players集合中nameRandyscore增加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集合中nameRandy的一條文檔:

storedb('players').remove({"name":"Randy"},function(err){
  if(!err){
    //do sth...
  } else //do sth...
})

如果要把整個集合刪除,把參數設置為空:

storedb('players').remove() 

項目主頁:http://www.baiduhome.net/lib/view/home/1413638829372

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!