Я пытаюсь получить только значение поля в firestore, используя python, но вместо этого он возвращает пару ключ-значение - PullRequest
0 голосов
/ 22 марта 2019

Я связываю свое приложение с cloude firestore, и я использую для него python, и мне нужно получить поле значения «Balance» для проверки, если оно действительно.но когда я пытаюсь получить его, я получаю вывод, подобный этому

{ Balance: 80 }

Но мне нужно только целочисленное значение / значение с плавающей точкой баланса.Мой код выглядит следующим образом -

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

# Use the application default credentials
cred = credentials.Certificate("/Users/admin/Downloads/serviceAccountKey.json")
firebase_admin.initialize_app(cred)

db = firestore.client()
user_id= 'my user id in database'
u = 80
userbal_new= u-10
users_ref = db.collection(u'users').document(user_id)

#update balance
#users_ref.update({u'Balance': userbal_new})

#get balance
get_bal= users_ref.get({u'Balance'})
bal = u'{}'.format(get_bal.to_dict())
print (bal)

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Поскольку вы используете здесь функцию to_dict:

bal = u'{}'.format(get_bal.to_dict())

Это генерирует словарь, впоследствии вы можете вызвать диктовку bal следующим образом:

bal['Balance']

В качестве альтернативы, сделайте вызов в формате (если это всегда баланс, который вы хотите):

bal = u'{}'.format(get_bal.to_dict()['Balance'])
0 голосов
/ 22 марта 2019

если вы получаете bal = {'Balance': 80}, то для получения баланса используйте .. print (bal ['Balance'])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...