Firebase alapok : alap parancsok használata
A Firebase Firestore egy NoSQL felhőalapú adatbázis, amely JSON-szerű dokumentumokat és kollekciókat használ. Ebben az útmutatóban bemutatom az alapvető CRUD (Create, Read, Update, Delete) és egyéb műveleteket, beleértve a szűrést, rendezést és feltételek használatát.
Előkészítés:
Ha Python-ban használod a Firebase-t, először telepítsd a szükséges csomagot:
---python
!pip install firebase-admin
Firebase beállítása Python-ban:
Generálj egy Service Account JSON fájlt a Firebase Console-ból
Töltsd fel a fájlt a Colab notebookba
---python
import firebase_admin from firebase_admin import credentials, firestore cred = credentials.Certificate("/content/serviceAccountKey.json") # A JSON fájl útvonala firebase_admin.initialize_app(cred) db = firestore.client()
1️⃣ Adatok Beszúrása (Create)
Firestore dokumentumokat tartalmaz, amelyek kulcs-érték párokból állnak.
Használhatjuk a set()
és az add()
függvényeket.
🔹 Egy dokumentum beszúrása (set)
🔹 Ha a dokumentum azonosítója nincs megadva, akkor Firestore automatikusan generál egyet.
🔹 Egy dokumentum beszúrása automatikus azonosítóval (add)
2️⃣ Adatok Lekérdezése (Read)
Firestore a get()
és stream()
függvényeket használja a dokumentumok lekérdezésére.
🔹 Egy adott dokumentum lekérdezése (get)
🔹 Minden dokumentum lekérdezése (stream)
3️⃣ Szűrés és Feltételek (Filter)
Firestore a where()
metódust használja feltételek alkalmazására.
🔹 Pl.: Mindenki, akinek az életkora nagyobb, mint 30
🔹 Pl.: Mindenki, aki 25 és 35 év közötti
4️⃣ Logikai Feltételek (AND, OR, NOT)
- Firestore támogatja az
AND
feltételt (többwhere()
). - Az
OR
feltétel trükkösen működik: külön lekérdezéseket kell futtatni, majd egyesíteni. - Az
NOT
operátor nem támogatott közvetlenül.
🔹 Pl.: 30 év felettiek és nem Kovács Béla (AND)
🔹 Pl.: Kovács Béla VAGY 30 év felettiek (OR helyettesítés két külön lekérdezéssel)
5️⃣ Adatok Rendezése (Sort)
Firestore a order_by()
metódust használja.
🔹 Pl.: Életkor szerint növekvő sorrendben
🔹 Pl.: Életkor szerint csökkenő sorrendben
6️⃣ Adatok Módosítása (Update)
A update()
függvénnyel módosíthatunk dokumentumokat.
🔹 Pl.: Kovács Béla életkorának módosítása 31-re
🔹 Pl.: Minden 25 év alatti életkor növelése 1-gyel
7️⃣ Adatok Törlése (Delete)
A delete()
függvénnyel törölhetünk dokumentumokat.
🔹 Pl.: Egy adott dokumentum törlése
🔹 Pl.: Minden 40 év feletti törlése
8️⃣ Lapozás (Limit és Offset)
Firestore támogatja a limit()
és start_after()
funkciókat.
🔹 Pl.: Csak az első 2 találat lekérdezése
🔹 Összefoglaló Táblázat
Művelet | Firebase Firestore Utasítás |
---|---|
Beszúrás | set() , add() |
Lekérdezés | get() , stream() |
Szűrés | where() |
Logikai feltételek | Több where() (AND támogatott, OR workaround) |
Rendezés | order_by() |
Módosítás | update() |
Törlés | delete() |
Lapozás | limit() , start_after() |
Teszt python kód:
##------------------------------------- Python
!pip install firebase-admin
# 🔹 2. Importálás
import firebase_admin
from firebase_admin import credentials, firestore
# 🔹 3. Firebase inicializálása
# Töltsd fel a Firebase Service Account JSON fájlt a Colab-ra (először a Firebase Console-ból töltsd le)
cred = credentials.Certificate("/content/serviceAccountKey.json") # A JSON fájl neve
firebase_admin.initialize_app(cred)
# 🔹 4. Firestore adatbázis kapcsolat létrehozása
db = firestore.client()
# 🔹 5. Új adat felvétele
def add_user(user_id, name, age, email):
doc_ref = db.collection("felhasznalok").document(user_id)
doc_ref.set({
"nev": name,
"eletkor": age,
"email": email
})
print(f"✅ {name} hozzáadva!")
# 🔹 6. Adatok listázása
def list_users():
users = db.collection("felhasznalok").stream()
print("📌 Felhasználók listája:")
for user in users:
print(f"{user.id}: {user.to_dict()}")
# 🔹 7. Adat módosítása
def update_user(user_id, field, new_value):
doc_ref = db.collection("felhasznalok").document(user_id)
doc_ref.update({field: new_value})
print(f"✏️ {user_id} frissítve: {field} -> {new_value}")
# 🔹 8. Adat törlése
def delete_user(user_id):
db.collection("felhasznalok").document(user_id).delete()
print(f"❌ {user_id} törölve!")
# 🔹 9. Példa használat
add_user("user_001", "Kovács Béla", 30, "bela.kovacs@example.com")
add_user("user_002", "Nagy Anna", 25, "anna.nagy@example.com")
list_users() # 📌 Összes felhasználó listázása
update_user("user_001", "eletkor", 31) # ✏️ Életkor módosítása
delete_user("user_002") # ❌ Felhasználó törlése
list_users() # 📌 Újra listázzuk az adatokat
##-------------------------------------
Firebase Service Account JSON fájl letöltése lépésről lépésre
Ahhoz, hogy a Google Colab vagy bármilyen külső alkalmazás kapcsolódni tudjon a Firebase Firestore adatbázishoz, szükséged van egy Service Account JSON fájlra, amely tartalmazza az autentikációhoz szükséges hitelesítő adatokat.
Kövesd az alábbi lépésről lépésre útmutatót a fájl letöltéséhez!
Lépj be a Firebase Console-ba
🔗 Nyisd meg a Firebase Console-t a következő linken:
👉 https://console.firebase.google.com/
Ha még nincs Firebase projekted, akkor:
- Kattints a "Create a project" (Projekt létrehozása) gombra.
- Adj neki egy nevet.
- Engedélyezd a Google Analytics-t (opcionális).
- Kattints a "Create" gombra.
Ha már van projekted, válaszd ki azt a listából.
Lépj be a Projekt Beállításaiba
- A Firebase Console-ban a bal felső sarokban kattints a "Project settings" (Projekt beállítások) ikonra ⚙️.
- Válaszd ki a "Service accounts" (Szolgáltatási fiókok) fület.
JSON fájl letöltése
- A "Firebase Admin SDK" szekció alatt keresd meg a következő szöveget:
"Generate new private key" (Új privát kulcs létrehozása). - Kattints a "Generate new private key" gombra.
- A letöltés automatikusan elindul, és kapsz egy JSON fájlt, amely tartalmazza a kulcsokat és hitelesítési adatokat.
🔹 Fontos:
- Ne oszd meg ezt a fájlt másokkal, mert tartalmazza az API hozzáférési kulcsokat!
- Tartsd biztonságos helyen, és ne töltsd fel nyilvános repóba (pl. GitHub).
JSON fájl feltöltése Google Colab-ba
- Nyisd meg a Google Colab-ot:
👉 https://colab.research.google.com/ - Nyisd meg a projektedet vagy hozz létre egy újat.
- A bal oldali panelen kattints a "Fájlok" (Files) ikonra 📂.
- Kattints a "Fájl feltöltése" (Upload file) gombra.
- Válaszd ki az imént letöltött JSON fájlt.
- A fájl feltöltődik a
/content/
mappába.
Cloud Firestore API engedélyezéséhez
-
Lépj be a Firebase Console-ba
🔗 Nyisd meg a Firebase Console-t itt: https://console.firebase.google.com/ -
Válaszd ki a projektet
Kattints a projekt nevére, amelyet használni szeretnél (pl. mierdekel-db). -
Lépj a "Project Settings" (Projekt beállítások) menübe
- A bal felső sarokban kattints a fogaskerék ikonra ⚙️.
- Válaszd a Project settings lehetőséget.
-
Navigálj a "Cloud Firestore" beállításokhoz
- A bal oldali menüben válaszd a "Database" menüpontot.
- Itt látni fogod a Cloud Firestore részt.
-
Engedélyezd a Firestore API-t
Ha még nem engedélyezted a Firestore-t, akkor itt fogsz látni egy "Enable" (Engedélyezés) gombot. Kattints rá, hogy engedélyezd a szolgáltatást. -
Kövesd az API aktiválásának lépéseit
Ha a Firestore API nem volt még engedélyezve, akkor meg fog jelenni egy link a Google Cloud Console-ba, ahol engedélyezheted az API-t. Kattints arra a linkre, és az aktiválás végén az API elérhetővé válik. -
Próbáld újra a kódot
Ha mindent sikerült beállítanod, akkor futtasd újra a kódot, és a Firestore API már működni fog.
📌 Ha a Firestore API aktiválásával kapcsolatos problémák merülnek fel:
-
Google Cloud Console: Ha nem találod a Firestore engedélyezési lehetőséget a Firebase Console-ban, akkor próbálkozhatsz a Google Cloud Console használatával.
- Lépj be, válaszd ki a projektet, és keresd meg a Firestore API-t a "APIs & Services" → "Library" menüpontban, majd engedélyezd.
-
Projekt hitelesítés: Ha új projektet hoztál létre, lehet, hogy várnod kell egy ideig, amíg az API használhatóvá válik.
Linkek:
https://console.cloud.google.com/apis/dashboard?inv=1&invt=AbspCQ&project=mierdekel-db
https://console.firebase.google.com/u/0/project/mierdekel-db/appcheck/products
Megjegyzések
Megjegyzés küldése