Hogyan lehet összekapcsolni a lombikalkalmazást a CouchDB -vel: NoSQL adatbázis

Hogyan lehet összekapcsolni a lombikalkalmazást a CouchDB -vel: NoSQL adatbázis

A lombik összekapcsolása olyan SQL -adatbázisokkal, mint a PostgreSQL és az SQLite, egyszerű. De a keretrendszer tökéletesen szinkronizálható a NoSQL adatbázisokkal, például a CouchDB -vel is. A CouchDB és a Flask együttes használatával pedig további előnyként könnyen lekérdezheti adatait.





Készen áll a változtatásra egy olyan NoSQL használatával, mint a CouchDB a Flask alkalmazással? Az alábbiakban bemutatjuk, hogyan állíthatja be a CouchDB -t a helyi gépén, és hogyan csatlakoztathatja a Flask -hoz.





Mi az a CouchDB?

A CouchDB egy NoSQL adatbázis, amely jelenleg az Apache Software Foundation tulajdonában van. Az Erlanggal írt szoftver először 2005 -ben jelent meg.



Ellentétben a szokásos, táblához kapcsolódó adatbázisokkal, amelyekhez Ön nagy valószínűséggel hozzászokott, a CouchDB egy nem relációs adatbázis-kezelő rendszer, amely nyers JSON-ként tárolja az adatokat.

A CouchDB nem blokkol, így nem zárolja le az adatbázist az adatbevitel során. A CouchDB egyik erős oldala, hogy több verziójú párhuzamossági szabályzatot használ az adatok olvasására és írására. Így lehetővé teszi több felhasználó egyidejű bevitelét anélkül, hogy az adatbázisban lévő adatok meglévő struktúrája beavatkozna.



Így a CouchDB gyors a lekérdezések során, és könnyen kezelhető aszinkron módszerek használata közben. Ez azt jelenti, hogy ettől nem lesz jobb, mint az SQL társa. Minden technológiának megvannak az előnyei és hátrányai.

A CouchDB beállítása

A CouchDB használatának megkezdéséhez töltse le és telepítse a kompatibilis verziót A CouchDB hivatalos weboldala .





És ha ez a legújabb verzió nem működik az Ön számára, folytassa a CouchDB archívum és töltse le az 1.6.1 verziót, amely a CouchDB korábbi verziója.

A CouchDB telepítése után futtassa a számítógépen, mint bármely más asztali alkalmazást.





Nyissa meg a böngészőt. Ezután indítsa el a CouchDB szerverét a következő beillesztésével a címsorba:

http://localhost:5984/_utils/index.html

A Python és a Flask beállítása

Ez az oktatóanyag azonban feltételezi, hogy a Python már telepítve van a számítógépre. Ellenkező esetben menjen a python.org és telepítse a Python legújabb verzióját a számítógépére.

A CouchDB beállítása után hozzon létre egy projekt gyökérmappáját. Ezután nyissa meg a parancssort az adott könyvtárba, és hozza létre a Python virtuális környezet .

Telepítse a Flask legújabb verzióját a virtuális térbe a segítségével csipog :

egy vagy több videót eltávolítottunk a lejátszási listáról, mert törölték őket a youtube -ról.
pip install flask

Csatlakoztassa a lombikot a CouchDB -vel

A CouchDB használatának megkezdéséhez a Flask alkalmazással telepítse Flask-CouchDB , a futásidejű csomag az adatbázis és a lombik összekapcsolásához.

Ezt csináld meg:

pip install Flask-CouchDB

Miután telepítette Flask-CouchDB sikeresen hozzon létre egy app.py fájlt abban a gyökérmappában. Hasonlóképpen hozzon létre egy database.py fájl - ez kezeli az adatbázis létrehozását.

Nyisd ki database.py és importálja a következő csomagokat:

from couchdb import Server

Ezután hozza létre adatbázisát ugyanabban a fájlban a következő kódblokk használatával:

from couchdb import Server
server = Server()
db = server.create('muocouch')

Végrehajtás database.py a CLI -n keresztül. Ezután nyissa meg vagy frissítse a CouchDB helyi szerverét a böngészőn keresztül, mint korábban. Most látnia kell az adatbázist ( muocouch ebben az esetben) szerepel a CouchDB -ben.

Összefüggő: Python -szkript futtatása

Jegyzet: Győződjön meg arról, hogy kisbetűs elnevezési konvenciót használ az adatbázisokhoz, mivel előfordulhat, hogy a CouchDB nem fogad el nagy- vagy vegyesbetűket.

Tárolja első CouchDB adatait lombik segítségével

Végső soron minden adatbázis célja az adattárolás. Miután rendelkezik adatbázissal a CouchDB -ben, azonnal megkezdheti az adatok tárolását a Flask alkalmazásból.

Kezdéshez nyissa meg app.py és importálja a következő csomagokat:

from flask import Flask
from couchdb import Server
from flaskext.couchdb import Document

Ezután hozzon létre egy Flask alkalmazást és a CouchDB szerverpéldányt:

app = Flask(__name__, static_url_path='/static')
app.debug=True
server = Server()

Most tároljunk néhány felhasználói adatot a CouchDB -ben:

@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
doc_id, doc_rev = db.save(user) #store your data in th database
return '

Your data should now be in the database

'

Ha úgy tetszik, a Flask szervert fejlesztési módba állíthatja, mielőtt futtatná.

Ehhez futtassa a következő parancsot a CLI -n keresztül:

set FLASK_ENV=development

Ne feledje, hogy a szerver mód beállítása opcionális. Ez csak gond nélkül teszi a kód hibakeresését.

A szerver mód beállításaitól függetlenül a következőképpen indíthatja el a lombik szervert a CMD -n keresztül:

flask run

A lombik azonban alapértelmezés szerint a portot használja helyi gazda: 5000 . Most látnia kell az üzenetet a H2 címkét, miután betöltötte ezt a címet a böngészőn keresztül.

Ellenőrizze az adatokat és ellenőrizze az ismétlődéseket a CouchDB lekérdezések használatával

Ennek további szabványosításához lekérdezések segítségével ellenőrizheti a bemeneteket, és megakadályozhatja az ismétlődéseket az adatbázisban. A CouchDB lekérdezése kissé eltér attól, ahogy ezt SQL adatbázisokkal teszi.

A CouchDB az úgynevezett „JavaScript nézeteket” használja az adatbázisból származó adatok lekérdezéséhez. Szerencsére ez viszonylag egyszerű.

Mielőtt továbblépne, így néz ki egy alapvető CouchDB lekérdezési nézet:

map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
myQuery = [docType].query(db, map_func, reduce_fun=None)

Most gyakorlatilag használjuk a fenti kódot:

#Create a document object model called ' Users :'
class User(Document):
doc_type = 'User'
@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
# Use the view function to fetch your data from CouchDB
map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
# Get all the data by running a query set
myQuery = User.query(db, map_func, reduce_fun=None, reverse=True)
q = [i['username'] for i in myQuery] # Loop out all the usernames from the database
q2 = [i['email'] for i in myQuery] # Loop out all the email addresses from the database
q3 = q+q2 # Merge both queries into a single list
print(q3)
return '

Your data is now in the database

'

A fenti kód a Felhasználó osztály a nézetfüggvény által lekért adatok lekérdezéséhez. Ügyeljen a lekérdezéskészlet paramétereire ( myQuery ).

Nyomtatás q3 , mint a fentiekben, most a parancssorban az adatbázis összes felhasználónevét és e -mail címét kell kiadnia.

Tehát a következőképpen használhatja ezt a lekérdezést a felhasználók bevitelének ellenőrzéséhez:

if not (user['username'] in q3 or user['email'] in q3):
#store your data into the database if itdoesn't exist
doc_id, doc_rev = db.save(user)
return '

Registered successfully

'
else:
return '

Username or email exists

'

A böngésző frissítése visszaadja a más utasítást minden alkalommal, amikor olyan felhasználónevet vagy e -mailt próbál bevinni, amely már szerepel az adatbázisban. Ha pedig újat ír be, az sikeresen tárolja adatait a ha állapot.

Összefüggő: Hogyan kell használni a Python -t, ha az utasítás

Ez az! Most hozta létre első NoSQL adatbázisát a Flask-CouchDB használatával.

Bár az adatbázisok létrehozása és lekérdezése a CouchDB -ben az itt kiemelt példák körül forog, a Flask funkcióit tovább kutathatja. Például a beviteli mezőket a segítségével felpörgetheti wtforms és megjelöli az ismétlődéseket Flask üzenete segítségével vaku .

A lekérdezést át is adhatja a JavaScript jQuery -jének, hogy ellenőrizze a bemeneteket és aszinkron módon ellenőrizze az ismétlődéseket.

A CouchDB jobb, mint az SQL adatbázisok?

A CouchDB vagy bármely más NoSQL adatbázis Flask vagy más programozási technológia használata az Ön preferenciáitól függ. De jól jön, ha strukturálatlan adatokkal és nyers adathordozókkal foglalkozunk.

Ennek ellenére, mielőtt döntene, érdemes megnézni a NoSQL és az SQL adatbázisok közötti különbségeket, hogy segítsen eldönteni, hogy melyik alkalmas a projektre.

Részvény Részvény Csipog Email SQL vs NoSQL: Melyik a legjobb adatbázis a következő projekthez?

Az adatbázis típusának kiválasztása bonyolult lehet. SQL -t vagy NoSQL -t válasszon?

Olvassa tovább
Kapcsolódó témák
  • Programozás
  • adatbázis
  • Programozás
  • Kódolási oktatóanyagok
A szerzőről Idisou Omisola(94 cikk megjelent)

Idowu szenvedélyes minden intelligens technológia és termelékenység iránt. Szabadidejében kódolással játszik, és ha unatkozik, sakktáblára vált, de szeret időnként elszakadni a rutintól. Szenvedélye, hogy megmutassa az embereknek a modern technológia körüljárását, motiválja őt, hogy írjon többet.

Továbbiak Idowu Omisola -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide