MongoDB與Python的集成主要通過使用pymongo
庫來實現。以下是一些關鍵步驟和概念,幫助你理解如何將MongoDB與Python集成:
安裝pymongo:
pip
來安裝pymongo
庫。在命令行中輸入以下命令:pip install pymongo
連接到MongoDB服務器:
pymongo.MongoClient()
來創建一個到MongoDB服務器的連接。例如:from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
localhost
是MongoDB服務器的主機名,27017
是默認的端口號。選擇數據庫:
client
對象的database_names()
方法來獲取所有數據庫的名稱,然后選擇一個進行操作。例如:db_names = client.database_names()
print(db_names) # 打印數據庫名稱列表
my_database = client['my_database'] # 選擇一個數據庫
選擇集合(Collection):
collection_names()
方法來獲取所有集合的名稱,然后選擇一個進行操作。例如:collection_names = my_database.collection_names()
print(collection_names) # 打印集合名稱列表
my_collection = my_database['my_collection'] # 選擇一個集合
插入文檔(Insert Documents):
insert_one()
或insert_many()
方法可以向集合中插入文檔。例如:document = { 'name': 'John Doe', 'age': 30, 'city': 'New York' }
result = my_collection.insert_one(document)
print(f"Inserted document with ID: {result.inserted_id}")
documents = [
{ 'name': 'Jane Smith', 'age': 28, 'city': 'Los Angeles' },
{ 'name': 'Alice Johnson', 'age': 32, 'city': 'Chicago' }
]
result = my_collection.insert_many(documents)
print(f"Inserted {len(documents)} documents")
查詢文檔(Query Documents):
find()
方法可以查詢集合中的文檔。例如:results = my_collection.find({ 'age': { '$gte': 30 } }) # 查詢年齡大于等于30的文檔
for result in results:
print(result)
更新文檔(Update Documents):
update_one()
、update_many()
或replace_one()
方法可以更新集合中的文檔。例如:result = my_collection.update_one(
{ 'name': 'John Doe' }, # 查詢條件
{ '$set': { 'age': 31 } } # 更新操作
)
print(f"Updated {result.modified_count} document")
刪除文檔(Delete Documents):
delete_one()
、delete_many()
或remove()
方法可以刪除集合中的文檔。例如:result = my_collection.delete_one({ 'name': 'John Doe' })
print(f"Deleted {result.deleted_count} document")
通過遵循這些步驟和概念,你可以有效地將MongoDB與Python集成,并在Python腳本中執行各種數據庫操作。