Heim > php教程 > PHP开发 > Hauptteil

Ein Anwendungsbeispiel von JsonDB

巴扎黑
Freigeben: 2016-11-07 10:30:41
Original
1760 Leute haben es durchsucht

JsonDB ist ein leichtes Datenbank-Open-Source-Projekt, das auf dem in Python implementierten JSON-Format basiert. Sie können es über Github herunterladen und installieren. Die Projektadresse lautet: https://github.com/hujiang001/jsonDB/.

Der Autor stellt ein vollständiges Referenzdokument zur Verfügung, und es ist auf Chinesisch, sodass der Einstieg sehr einfach ist. Dies ist die Adresse seines chinesischen Dokuments: https://github.com/hujiang001/jsonDB/. Wiki/Referenzdokument. Derzeit ist dieses Dokument auch im Projektprojekt enthalten: reference.md. Das

-Projekt bietet auch ein Beispiel für die Verwendung. Wir werden dieses Beispiel unten einfügen. Es ist ersichtlich, dass es recht einfach zu verwenden ist 🎜 >

#!usr/bin/env python# -*- coding: utf-8 -*-from database import JSONDBif __name__=="__main__":
    shopDb = JSONDB('shop_db',hashSize=1)  #create shop db
    userDb = JSONDB('sellerDb',hashSize=1) #create user db
    #specify key
    shopDb.ensureKey('shop',['id'])
    shopDb.ensureKey('goods',['id'])
    userDb.ensureKey('seller',['id','name'])
    userDb.ensureKey('customer',['id','name'])    #for debugging, you can start perfDot and open debug switch
    shopDb.perfDotStart()
    userDb.perfDotStart()
    shopDb.debugSwitch(1)
    userDb.debugSwitch(1)    #insert data
    #here we insert some data
    for i in range(0,100):        #insert data one by one
        shopDb.insert('shop',[{'id':i, 'name':'my shop', 'description':'this is a telephone shop'}])    #inset a data list
    goodsList = [{'id':10001, 'class':'telephone', 'brand':'apple', 'color':'white'},
                 {'id':10002, 'class':'telephone', 'brand':'huawei', 'color':'black'},
                 {'id':10003, 'class':'telephone', 'brand':'zte', 'color':'white'},
                 {'id':10004, 'class':'telephone', 'brand':'xiaomi', 'color':'black'},
                 {'id':10005, 'class':'telephone', 'brand':'moto', 'color':'white'},
                 {'id':10006, 'class':'telephone', 'brand':'oppo', 'color':'black'},]
    shopDb.insert('goods',goodsList)
    sellersList = [{'id':0x34200,'name':'li','sex':'female','birth':'1985-09-03','tel':'0816-19876545432'},
                   {'id':0x34201,'name':'wang','sex':'male','birth':'1988-11-03','tel':'0816-2345453453'},
                   {'id':0x34202,'name':'hong','sex':'female','birth':'1995-10-19','tel':'0816-144567589'}]
    userDb.insert('seller',sellersList)
    customersList = [{'id':0x7800,'name':'zhu','sex':'female','profile':['dress','mother','sport']},
                   {'id':0x7801,'name':'rong','sex':'male','profile':['baby','read','tech']},
                   {'id':0x7802,'name':'guo','sex':'female','profile':['phone','dress','food']}]
    userDb.insert('customer',customersList)    #export to default file
    shopDb.exportToFile()
    userDb.exportToFile(fileName='user')    #find
    # find with key
    findList = shopDb.find('goods',filter={'id':{'$lt':10004}})
    JSONDB.rprint(findList)
    findList = shopDb.find('goods',filter={'id':10004})
    JSONDB.rprint(findList)
    findList = userDb.find('customer',filter={'name':'guo'})
    JSONDB.rprint(findList)    #delete
    shopDb.delete('goods',{'id':10005})    #update
    shopDb.update('goods',set={'class':'phone'})    #merge
    shopDb.merge(userDb)
    shopDb.exportToFile('mergeDb')    #show pref time
    shopDb.perfDotEnd()
    userDb.perfDotEnd()    #import
    importDb = JSONDB('importDb')
    importDb.debugSwitch(1)
    importDb.importFromFile(fileName='mergeDb')    #importDb.printAll()
    importDb.exportToFile()    print importDb
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage