首页 > 解决方案 > 如何检查firebase中是否存在数据。(KivyMD Python)

问题描述

我是Python和的新手KivyMD。也可以使用数据库。我想检查用户使用 KivyMD 应用程序提供的数据是否已经在 Firebase 实时数据库中。这些是火力基地中的数据。

Firebase 中的数据

编码

def send_data(self, email):
    from firebase import firebase

    firebase = firebase.FirebaseApplication("https://infinity-mode-default-rtdb.firebaseio.com/", None)

    data = {
        'Email' : email
    }

    if email.split() == []:
        cancel_btn_checkpoint_dialogue = MDFlatButton(text='Retry', on_release=self.close_checkpoint_dialogue)
        self.checkpoint_dialog = MDDialog(title='Access Denied', text="Invalid Username"),
                                          buttons=[cancel_btn_checkpoint_dialogue])

        self.checkpoint_dialog.open()

    else:
        firebase.post('Users', data)

如果用户在数据库中输入现有值,则不应将该值保存在数据库中。还应显示一个对话框,表明电子邮件已在使用中。如果用户提供的值不在数据库中,则应将其保存。请帮助我做到这一点。

标签: pythonfirebasefirebase-realtime-databasekivykivymd

解决方案


我猜你使用的 python-firebase到目前为止文档很少。所以我会尽量根据包源做到最好...

您必须使用firebase.get方法来检索包含为给定用户存储的当前数据的字典,然后检查该数据是否包含您要添加的信息(未经测试,因为 firebase 甚至不会在我的机器上导入):

record = firebase.get('/Users', 'id')
if not record.get('Email'):
    firebase.post('/Users/'+'id', data)

推荐阅读