Python 連線MongoDB資料庫手札(PyMongo)
阿新 • • 發佈:2018-12-24
1 PyMango 安裝
如果還不知道怎麼安裝MongoDB可以先看這裡,包括如何啟動相應的服務
Ubuntu の MongoDB 安裝教程及簡單操作
要想在Python中使用MongoDB,需要安裝PyMongo,通過PyMongo 我們在Python中就可以連結MongoDB資料庫了,這裡我是使用了Pip來安裝的,如果還沒清楚Pip怎麼安裝的可以看看之前的博文
pip install pymongo
完成了這條指令之後,我們就可以在Python當中進行資料庫的連線操作了。
2 Python連結程式碼
在這裡我直接給出一個示例了,注意的是,Pymango可以直接把Python中dict型別的資料直接存入,也可以直接取出,是不是很方便?
#encoding:utf=8
import pymongo as pm
import json
class MongoOperator:
def __init__(self, host, port, db_name, default_collection):
'''
設定mongodb的地址,埠以及預設訪問的集合,後續訪問中如果不指定collection,則訪問這個預設的
:param host: 地址
:param port: 埠
:param db_name: 資料庫名字
:param default_collection: 預設的集合
'''
#建立資料庫連線
self.client = pm.MongoClient(host=host, port=port)
#選擇相應的資料庫名稱
self.db = self.client.get_database(db_name)
#設定預設的集合
self.collection = self.db.get_collection(default_collection)
def insert(self, item, collection_name =None):
'''
插入資料,這裡的資料可以是一個,也可以是多個
:param item: 需要插入的資料
:param collection_name: 可選,需要訪問哪個集合
:return:
'''
if collection_name != None:
collection = self.db.get_collection(self.db)
collection.insert(item)
else:
self.collection.insert(item)
def find(self, expression =None, collection_name=None):
'''
進行簡單查詢,可以指定條件和集合
:param expression: 查詢條件,可以為空
:param collection_name: 集合名稱
:return: 所有結果
'''
if collection_name != None:
collection = self.db.get_collection(self.db)
if expression == None:
return collection.find()
else:
return collection.find(expression)
else:
if expression == None:
return self.collection.find()
else:
return self.collection.find(expression)
def get_collection(self, collection_name=None):
'''
很多時候單純的查詢不能夠通過這個類封裝的方法執行,這時候就可以直接獲取到對應的collection進行操作
:param collection_name: 集合名稱
:return: collection
'''
if collection_name == None:
return self.collection
else:
return self.get_collection(collection_name)
db = MongoOperator('10.0.0.39',27017,'test_db','test_collection')
item = {}
item['name'] = 'mebiuw'
item['age'] = '23'
db.insert(item)
for item in db.find():
print(item)
3 其他
如果有其他我再補充,這篇主要是程式碼上的,上一篇主要是環境上的,遇到問題我會及時補充