我創建了一個實時資料庫,并開始推送一些資料,例如用戶名、ID 和日期分機。
但我需要檢查此 ID 是否存在于我的資料庫中,我該怎么做。
這是我的代碼:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
cred_obj = firebase_admin.credentials.Certificate('firebase_credentials.json')
default_app = firebase_admin.initialize_app(cred_obj, {
'databaseURL': 'My DataBase URL'})
ref = db.reference("/Logs")
ref.child(user.name).set({
'Name' : user.full_name,
'ID' : str(user.id),
'Date' : str(update.message.date.astimezone(pytz.timezone('Asia/Damascus')).strftime("%d-%b-%Y")),
'Time' : str(update.message.date.astimezone(pytz.timezone('Asia/Damascus')).strftime("%H:%M:%S"))
})

我需要檢查此名稱或此 ID 是否存在我不會更新資料庫..
uj5u.com熱心網友回復:
要有條件地將值寫入資料庫中的路徑,您可以使用事務。
在您的情況下,這看起來像:
def set_initial_value(current_value):
return current_value if current_value else {
'Name' : user.full_name,
'ID' : str(user.id),
'Date' : str(update.message.date.astimezone(pytz.timezone('Asia/Damascus')).strftime("%d-%b-%Y")),
'Time' : str(update.message.date.astimezone(pytz.timezone('Asia/Damascus')).strftime("%H:%M:%S"))
}
ref = db.reference("/Logs")
try:
ref.child(user.name).transaction(set_initial_value);
print('Transaction completed')
except db.TransactionAbortedError:
print('Transaction failed to commit')
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/443034.html
標籤:Python python-3.x 数据库 火力基地 firebase-实时数据库
上一篇:requests.exceptions.InvalidURL:決議失敗:python中的<Response[200]>
下一篇:模擬/修補物件屬性以測驗方法
