連線 MongoDB 資料庫



如前所述,您應該首先使用 mongod 命令啟動 MongoDB 伺服器。

MongoEngine 提供 connect() 函式來連線到正在執行的 mongodb 伺服器例項。

from mongoengine import connect
connect(‘mydata.db’)

預設情況下,MongoDB 伺服器在本地主機和 27017 埠上執行。要自定義,您應該向 connect() 提供主機和埠引數 -

connect('mydata.db', host='192.168.1.1', port=12345)

如果資料庫需要身份驗證,則應提供其憑據,例如使用者名稱、密碼和 authentication_source 引數。

connect('mydata.db', username='user1', password='***', authentication_source='admin')

MongoEngine 還支援 URI 樣式連線而不是 IP 地址。

connect('mydata.db', host='mongodb:///database_name')

connect() 函式還有另一個可選引數稱為 replicaset。MongoDB 是一個分散式資料庫。儲存在一個伺服器中的資料通常會複製到許多伺服器例項中,以確保高可用性。MongoDB 中的副本集是一組 mongod 程序,在這些程序上維護相同的資料集。副本集是所有生產部署的基礎。

connect(host='mongodb:///dbname?replicaSet=rs-name')

以下副本集方法定義如下

rs.add() 將成員新增到副本集中。
rs.conf() 返回副本集配置文件。
rs.freeze() 防止當前成員在一段時間內尋求作為主機的選舉。
rs.initiate() 初始化一個新的副本集。
rs.reconfig() 透過應用新的副本集配置物件來重新配置副本集。
rs.remove() 從副本集中刪除成員。

MongoEngine 還允許連線多個數據庫。您需要為每個資料庫提供唯一的別名。例如,以下程式碼將 Python 指令碼連線到兩個 MongoDB 資料庫。

connect(alias='db1', db='db1.db')
connect(alias='db2', db='db2.db')
廣告

© . All rights reserved.