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

053孤荷凌寒自学python写入和修改Firebase数据库中记录

|阅读量:67 |发布于2020-08-03 08:33:19


正文内容

Github:

https://github.com/lhghroom/ZeroBasicSelfStudyPython


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


今天继续研究Firebase数据库,利用google免费提供的这个数据库服务,今天主要尝试使用firebase_admin模块来对firebase数据库进入记录的写入和修改。

获得成功。


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

(一)覆盖和全新写入一个指定的firebase数据库中的文档的内容

Firebase数据库中的一条记录(firebase数据库的记录在Python中可以是一个字典对象以备写入)

如果在写入一条记录的同时,新建一个文档(document);

或者将一个已存在的文档(document)中的记录全部覆写掉;

可以使用文档类的set方法。

具体用法如下:

集合对象.document(u'文档标识名').set(要写入的记录)

通过此方法,就可以完成数据记录的写入,如果指定标识名的文档已经存在,则会先删除其中的记录的所有内容,然后将新的内容写入。

如果指定标识名的文档不存在,则会先新建这个文档,然后再写入记录。


(二)修改一个文档(document)的内容的方法:

修改一个文档的内容要使用文档对象的update方法

修改的概念在这儿是指:既是指原文档中有的同名的key(字典对象一样的概念)的value会被 修改,而且也指原文档中没有的Key,b也会被追加到文档中。

具体用法如下:

文档对象.update(新的记录内容)


二、我的测试练习代码

# _** 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'文档一 data: {}'.format(info.to_dict())) #转变为字典对象后输出

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

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

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

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


#-----添加文档的方法

dictdata={

   u'姓名':u'张四丰',

   u'性别':u'女',

   u'年龄':39,

   u'爱好':

   {

       u'书法':u'10级',

       u'计算机':u'8级',

       u'英语':u'4级'

   },

   u'婚否':False

}

#添加一个文档,并写入这些数据记录

jihesub.document(u'new201812').set(dictdata)


#---将他读出来

docsub2=jihesub.document(u'new201812') #子集合中的子文档二

infosub2=docsub2.get() #获取子文档二的内容

print(u'子文档二data: {}'.format(infosub2.to_dict())) #转变为字典对象后输出


#追加数据到subonedoc这个文档中


#docsub.update(dictdata)


#重新读出追加后的新文档的情况

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

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


#修改子文档二


docsub2.update(dictdata)

#重新读

infosub2=docsub2.get() #获取子文档二的内容

print(u'子文档二修改后data: {}'.format(infosub2.to_dict())) #转变为字典对象后输出

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

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


链接:https://pan.baidu.com/s/1-iTZD5v-r0Uu6IZ6mboJPg


提取码:p1yf


Bilibili:

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


喜马拉雅语音笔记

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



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


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





【返回首页】