Frontend/Firebase
[Firebase] Python - Firebase Realtime Database
romeoh
2019. 7. 21. 02:53
반응형
[Firebase] Firebase 데이터 베이스 생성 [Realtime Database]
[firebase] 호스팅 생성하고 배포하기를 참조해서 Firebase에 새로운 프로젝트를 생성합니다.
WebApp도 생성합니다.


스크롤을 내려서 Firebase SDK snippet에서 CDN을 선택하고 firebaseConfig 부분을 복사해놓으세요.

Database > Realtime Databas를 생성합니다.
프로젝트 생성
$ cd /my/project/path
$ mkdir firstProject
$ code ./firstProject
pyrebase설치
$ pip3 install pyrebase
app.py
$ touch app.py
import pyrebase
config = {
"apiKey": "AIzaxxxxxxxxxxxxxxx",
"authDomain": "pythontest.firebaseapp.com",
"databaseURL": "https://pythontest.firebaseio.com",
"projectId": "pythontest",
"storageBucket": "",
"messagingSenderId": "68980739xxxx",
"appId": "1:689807391396:web:cedfcfbb5d1xxxxx"
}
firebase = pyrebase.initialize_app(config)
db = firebase.database()
db.child("name").push({"company": "google"})
실행하기
$ python3 app.py


realtime database에 데이터가 추가되었습니다.
update
firebase = pyrebase.initialize_app(config)
db = firebase.database()
# db.child("name").push({"company": "google"})
db.child("name").child("name").update({"company": "google"})
push 대신 update를 사용하면 key없이 값이 생성/수정됩니다.

firebase = pyrebase.initialize_app(config)
db = firebase.database()
# db.child("name").push({"company": "google"})
db.child("name").child("name").update({"company": "apple"})

데이터 가지고 오기
firebase = pyrebase.initialize_app(config)
db = firebase.database()
# db.child("name").push({"company": "google"})
# db.child("name").child("name").update({"company": "google"})
company = db.child("name").child("name").get()
print(company.val())

firebase = pyrebase.initialize_app(config)
db = firebase.database()
# db.child("name").push({"company": "google"})
# db.child("name").child("name").update({"company": "google"})
company = db.child("name").child("name").get()
print(company.key())

삭제하기
firebase = pyrebase.initialize_app(config)
db = firebase.database()
# db.child("name").push({"company": "google"})
# db.child("name").child("name").update({"company": "google"})
# company = db.child("name").child("name").get()
# print(company.key())
db.child("name").remove()

반응형