孤荷凌寒自學python第五十三天使用python寫入和修改Firebase數據庫中記錄

 孤荷凌寒自學python第五十三天使用python寫入和修改Firebase數據庫中記錄

 

(完整學習過程屏幕記錄視頻地址在文末)python

 

今天繼續研究Firebase數據庫,利用google免費提供的這個數據庫服務,今天主要嘗試使用firebase_admin模塊來對firebase數據庫進入記錄的寫入和修改。sql

得到成功。數據庫

 

1、簡單總結下今天對firebase_admin模塊對象的學習編程

(一)覆蓋和全新寫入一個指定的firebase數據庫中的文檔的內容json

Firebase數據庫中的一條記錄(firebase數據庫的記錄在Python中能夠是一個字典對象以備寫入)網絡

若是在寫入一條記錄的同時,新建一個文檔(document);app

或者將一個已存在的文檔(document)中的記錄所有覆寫掉;nosql

可使用文檔類的set方法。編程語言

具體用法以下:ide

集合對象.document(u'文檔標識名').set(要寫入的記錄)

經過此方法,就能夠完成數據記錄的寫入,若是指定標識名的文檔已經存在,則會先刪除其中的記錄的全部內容,而後將新的內容寫入。

若是指定標識名的文檔不存在,則會先新建這個文檔,而後再寫入記錄。

 

(二)修改一個文檔(document)的內容的方法:

修改一個文檔的內容要使用文檔對象的update方法

修改的概念在這兒是指:既是指原文檔中有的同名的key(字典對象同樣的概念)的value會被 修改,並且也指原文檔中沒有的Key,b也會被追加到文檔中。

具體用法以下:

文檔對象.update(新的記錄內容)

 

2、個人測試練習代碼

```

# _** coding:utf-8 _*_# 孤荷凌寒自學Python第五十一天_鏈接firebase數據庫(nosql數據庫類型)次日嘗試  import firebase_adminfrom firebase_admin import credentialsfrom 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的時間將進行適當壓縮,因此內容會比以前少不少,直到開始進入真正的實戰操做,完成一些有實際用途的小項目。

遵從網友【涅槃重生】的建議,確實到我這個年紀,立刻37歲了,還在拼命想靠打工來經過出賣時間來掙錢是個愚蠢的想法,因而我將在保證繼續終身學習的前提下,也樹立終身進行【財商知識】學習的意識,今後將不斷掌握和學習各類新時代的財富積累讓金錢爲本身工做的一些財商知識,也歡迎你們與我一塊兒自學交流。

 

——————————

今天整理的學習筆記完成,最後例行說明下個人自學思路:

根據過去多年我自學各類編程語言的經歷,認爲只有真正體驗式,解決實際問題式的學習纔會有真正的效果,即讓學習實際發生。在2004年的時候我開始在一個鄉村小學自學電腦 並學習vb6編程語言,沒有學習同伴,也沒有高師在上,甚至電腦都是孤島(鄉村那時尚未網絡),有的只是一本舊書,在痛苦的自學摸索中,我找到適應本身零基礎的學習方法:首先是每讀書的一小節就做相應的手寫筆記,第二步就是上機測試每個筆記內容是否實現,其中會發現書中講的其實有出入或錯誤,第三步就是在上機測試以後,將筆記改成電子版,造成最終的修訂好的正確無誤的學習筆記。

經過反覆嘗試錯誤,在那個沒有分享與交流的黑暗時期我摸黑學會了VB6,爾後接觸了其它語言,也曾聽過付費視頻課程,結果發現也許本身學歷果真過低,就算是零基礎的入門課程,其實也難以跟上進度,講師的教學多數出現對初學者的實際狀況並不瞭解的狀況,何況學習者的個體也存在差別呢?固然更可怕的是收費課程的價格每每是本身難以承受的。

因而個人全部編程學習都改成了自學,繼續本身的三步學習筆記法的學習之路。

固然自學的最大問題是會走那麼多的彎路,沒有導師直接輸入式的教學來得直接,好在網絡給咱們帶來無限搜索的機會,你們在網絡上的學習日誌帶給咱們共享交流的機會,而QQ羣等交流平臺、網絡社區的成立,咱們能夠一塊兒自學,互相批評交流,也能夠得到更有效,更自主的自學成果。

因而我以人生已過半的年齡,決定繼續個人編程自學之路,開始學習python,只但願與你們共同交流,一我的的獨行是可怕的,只有一羣人的共同前進纔是有但願的。

誠摯期待您的交流分享批評指點!歡迎聯繫我加入從零開始的自學聯盟。

這個時代互聯網成爲了一種基礎設施的存在,因而原本在孤獨學習之路上的咱們變得再也不孤獨,由於網絡就是一個新的客廳,咱們時刻均可以進行沙龍活動。

很是樂意能與你們一塊兒交流本身自學心得和發現,更但願你們可以對我學習過程當中的錯誤給予指點——是的,這樣我就能有許多免費的高師了——這也是分享時代,社區時代帶來的好福利,我相信你們會的,是吧!

 

根據徹底共享的精神,開源互助的理念,個人我的自學錄製過程是所有按4K高清視頻錄製的,從手寫筆記到驗證手寫筆記的上機操做過程全程錄製,但由於4K高清文件太大均超過5G以上,因此沒法上傳至網絡,若有須要可聯繫我QQ578652607對傳,樂意分享。上傳分享到百度網盤的只是壓縮後的720P的視頻。

 

個人學習過程錄像百度盤地址分享以下:(清晰度:1280x720)

 

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

 

提取碼:p1yf

 

Bilibili:

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

 

喜馬拉雅語音筆記

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

相關文章
相關標籤/搜索