就是要学社区 QQ群组:646854445
你并非已无懈可击,所以你不能逃避问题,拒绝学习!

052孤荷凌寒自学python读取Firebase数据库中记录

|阅读量:65 |发布于2020-08-03 08:29:20


正文内容

(完整学习过程屏幕记录视频地址在文末)


今天继续研究Firebase数据库,利用google免费提供的这个数据库服务,今天主要尝试使用firebase_admin模块来连接firebase数据库。

获得成功。


一、简单总结下今天对firebase_admin模块对象的学习

(一)要通过firebase_admin模块连接到firebase数据库,那么必须要拥有一个从firebase网站上自己的数据库的【用户和权限】处设置的‘连接私钥’等相关信息的一个json文件,并下载到项目文件夹中来。

(二)然后通过:

firebase_admin.credentials.Certificate

方法来读取这个下载到本地的json文件

示例如下:

cred = credentials.Certificate("ghlhfirst.json")

firebase_admin.initialize_app(cred)


initialize_app方法用于初始化这个加密连接(我的理解,具体这儿机制还没有深入研究,欢迎大家一起讨论)


(三)通过firebase_admin.firestore对象来真正建立与数据库的连接

使用此对象的如下方法:

db=firestore.client() #建立连接

得到的db对象就是一个对firebase数据库的连接。

其结构如下:

db #---数据库连接对象

collection  #--在数据库中的多个集合,通过collection(集合名称)获取指定的集合。

document  #--在一个集合中的多个文档 ,通过document(文档名称)来获取指定的文档

文档内容  #--以字典形式key:value模式存储的数据,通过document对象的get()方法 获取出文档 内容 。

文档中的collection  #--在文档中的下级的子的多个集合,通过collection(集合名称)获取指定的集合。

……

从此结构中可以看出,这种数据库的结构是可以多层级嵌套,无限嵌套下去的。非常的神奇!


(四)官方文档地址:

https://firebase.google.com/docs/guides/


二、然后尝试用Python来读出我的数据库中的测试数据

代码如下:

我下载下来的‘连接私钥’等相关信息的一个json文件就存放在当前测试文件 的同级文件夹下:

文件名为:【ghlhfirst.json】


测试代码为:

# _** coding:utf-8 _*_

# 孤荷凌寒自学Python第五十一天_连接firebase数据库(nosql数据库类型)第二天尝试


import firebase_admin

from firebase_admin import credentials

from firebase_admin import firestore


cred = credentials.Certificate("ghlhfirst.json")

firebase_admin.initialize_app(cred)


db=firestore.client() #建立连接

jiheinfo=db.collection(u'ghlh') #得到集合

doc=jiheinfo.document(u'yiLfGDecALwWYw9VSoIm') #得到文档对象

info=doc.get() #获取文档内容

print(u'Document data: {}'.format(info.to_dict())) #转变为字典对象后输出

jihesub=doc.collection(u'subone') #文档下存在的一个子集合   #此处证明,这种数据库中的结构是可以像俄罗斯套娃一样无限循环嵌套的。

docsub=jihesub.document(u'subonedoc') #子集合中的子文档一

infosub=docsub.get() #获取子文档一中的内容

print(u'Document data: {}'.format(infosub.to_dict())) #转变为字典对象后输出


测试结果为:

Document data: {'nm': '张三', 'sex': '男', 'id': 0, 'ispass': 'False'}

Document data: {'nm': '孤荷凌寒', 'age': 36}


今天算是已经基本上入门了firebase这种nosql数据库的基本操作了。从今天起每天学习python的时间将进行适当压缩,所以内容会比之前少很多,直到开始进入真正的实战操作,完成一些有实际用途的小项目。

我的学习过程录像百度盘地址分享如下:(清晰度:1280x720)

链接:https://pan.baidu.com/s/1PfJypsYVLkI_-U8wyjq0gw

提取码:v9uv


Bilibili:

https://www.bilibili.com/video/av39162485/


喜马拉雅语音笔记:

https://www.ximalaya.com/keji/19103006/148548318



【就是要学】社区
一个平等,纯粹的社群
本社群旨在为真正愿意不断学习,终身成长的朋友提供一个平等互助互相鼓励的清洁纯粹的学习交流的平台。
加入社群将获得
1、与真正终身学习者为伍
2、在榜样带领下坚持每天学习,终身成长
3、养成记录时间日志,成功日记的习惯


【就是要学】社区QQ群:646854445





【返回首页】