《Python:你不得不學的MongoDB數據庫》要點:
本文介紹了Python:你不得不學的MongoDB數據庫,希望對您有用。如果有疑問,可以聯系我們。
相關主題:非關系型數據庫
這篇文章分享之前我還是要推薦下我自己的Python學習交流群:643692991,不管你是小白還是大牛,小編我都挺歡迎,不定期分享干貨,包括我自己整理的一份2017最新的Python資料和零基礎入門教程,歡迎初學和進階中的小伙伴.
Python是開發社區中用于許多不同類型應用的強大編程語言.很多人都知道它是可以處理幾乎任何任務的靈活語言.因此,在Python應用中需要一個什么樣的與語言本身一樣靈活的數據庫呢?那就是NoSQL,比如MongoDB.
在這篇文章中,將向您展示如何使用Python鏈接目前主流的 MongoDB(V3.4.0) 數據庫,主要使用 PyMongo(v3.4.0) 和 MongoEngine(V0.10.7) .同時比較SQL和NoSQL.
當到數據庫方案選擇時,大多數人都問自己最后一個問題,“SQL或NoSQL的?”.無論是SQL和NoSQL都有自己的長處和弱點,你應該選擇適合您的應用需求中最好的之一.這里是兩者之間的一些區別:
SQL vs NoSQL
NoSQL的一個好處是,有許多不同類型的數據庫可供選擇,并且每個都有自己的用例:
key-value存儲: DynamoDB
文檔存儲: CouchDB , MongoDB , RethinkDB
列存儲: Cassandra
數據結構: Redis , SSDB
MongoDB
MongoDB開發者發布的官方驅動程序 PyMongo
安裝:pip install pymongo==3.4.0
建立連接
使用MongoClient對象建立連接:
frompymongoimportMongoClient
client = MongoClient()
使用上面的代碼片段,將建立連接到默認主機(localhost)和端口(27017).您還可以指定主機和/或使用端口:
client = MongoClient('localhost',27017)
或者使用MongoURl格式:
client = MongoClient('mongodb://localhost:27017')
拜訪數據庫
一旦你有一個連接的MongoClient實例,你可以在Mongo服務器中拜訪任何數據庫.如果要拜訪一個數據庫,你可以當作屬性一樣拜訪:
db = client.pymongo_test
或者你也可以使用字典形式的拜訪:
db = client['pymongo_test']
如果您的指定數據庫已創建,實際上并不重要.通過指定此數據庫名稱并將數據保存到其中,您將自動創建數據庫.
MongoEngine
MongoEngine是一個對象文檔映射器(ODM),它大致相當于一個基于SQL的對象關系映射器(ORM).MongoEngine提供的抽象是基于類的,所以你創建的所有模型都是類
安裝:pip install mongoengine==0.10.7
連接:
frommongoengineimport*
connect('mongoengine_test', host='localhost', port=27017)
和pymongo不同.MongoEngine需要制定數據庫名稱.
定義文檔
建立文檔之前,需要定義文檔中要存放數據的字段.與許多其他ORM類似,我們將通過繼承Document類,并提供我們想要的數據類型來做到這一點:
required:設置必須;
default:如果沒有其他值給出使用指定的默認值
unique:確保集合中沒有其他document有此字段的值相同
choices:確保該字段的值等于數組中的給定值之一
保存文檔
將文檔保存到數據庫中,我們將使用save()的辦法.如果文檔中的數據庫已經存在,則所有的更改將在原子水平上對現有的文檔進行.如果它不存在,但是,那么它會被創建
《Python:你不得不學的MongoDB數據庫》是否對您有啟發,歡迎查看更多與《Python:你不得不學的MongoDB數據庫》相關教程,學精學透。維易PHP學院為您提供精彩教程。