iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
AI & Data

AIoT的藍藥丸與紅藥丸,你選哪個?系列 第 28

Day 17:用MongoClient電話亭,前往MongoDB資料集的產地

  • 分享至 

  • xImage
  •  

MongoClient

是PyMongo套件中用來連接MongoDB資料庫的類別,像是一個用Python語言和MongoDB資料庫溝通的電話

  • 簡單說明:你可以把MongoClient想像成一部電話,它讓Python(你)和MongoDB資料庫(你的朋友)之間可以講電話。當你想要用這個電話打給別人時(創建一個MongoClient物件),你要先知道你朋友的號碼(資料庫的位置和名稱)。你還會用到『連接字串』這個東西,也就是你朋友的號碼,通常包含了資料庫的主機名稱和埠號。當電話接通(MongoClient物件被建立),你就可以開始和你朋友講電話聊天(訪問和操作資料庫)了。
  • 相關話題
    • PyMongo:MongoClient是PyMongo套件的一部分,就像電話是通訊系統的一部分。
    • MongoDB:MongoClient是用來連接到MongoDB資料庫的,就像電話是用來連接到你的朋友的。
    • 連接字串:在撥打電話(建立MongoClient物件)時,你要知道你朋友的電話號碼(連接字串),才能能夠成功撥通電話。
  • 使用範例:「匯入pymongo套件,建立一個MongoClient物件,然後再指定資料庫的位置跟名稱。這樣就像是『用MongoClient,打電話給本地端的MongoDB資料庫』一樣。」

實作:如何在MongoDB伺服器上建立新資料庫

from pymongo import MongoClient
def get_database():
 
   # Provide the mongodb atlas url to connect python to mongodb using pymongo
   CONNECTION_STRING = "mongodb+srv://user:pass@cluster.mongodb.net/myFirstDatabase"
 
   # Create a connection using MongoClient. You can import MongoClient or use pymongo.MongoClient
   client = MongoClient(CONNECTION_STRING)
 
   # Create the database for our example (we will use the same database throughout the tutorial
   return client['user_shopping_list']
  
# This is added so that many files can reuse the function get_database()
if __name__ == "__main__":   
  
   # Get the database
   dbname = get_database()

MongoDB資料集(Collection)

MongoDB用來儲存資料的結構,像是一個大型圖書館的書架

  • 簡單說明
    • 在MongoDB中,資料集(Collection)類似於關聯式資料庫中的表格(Table)。你可以把MongoDB的資料集想像成一個大型圖書館的書架。
    • 每個資料集可以包含多個文件(Document),每個文件則包含了一組鍵值對(Key-Value Pair)。就像每個書架(集合)上都放著許多書(文件),每本書都有許多章節(鍵值對)。
    • 這些書裡的章節(鍵值對)就是我們需要儲存和操作的資料。
    • 當我們需要在圖書館中增加一個新的書架(資料集)時,只需要給它一個名字並開始向其中添加書籍(資料),如果這個書架不存在,圖書館(MongoDB)會自己幫我們新增一個新的。
  • 相關話題
    • MongoDB:集合是MongoDB中的核心組件,就像書架是圖書館的核心組件一樣。
    • 文件(Document):每個集合都由多個文件組成,,就像每個書架上都有許多書一樣。每個文件都包含了一組鍵值對,就像每本書都有許多章節。
    • PyMongo:我們通常會使用像PyMongo這樣的工具來操作MongoDB中的集合,就像我們在圖書館如果找不到書的時候,會去問圖書館員,或是用查詢書本位置的機台,來讓我們可以順利在圖書館找到我們需要的書。
  • 使用範例:「我用PyMongo,在MongoDB資料庫裡面,建立一個叫做portal的集合。」

實作:如何建立新的MongoDB資料集

# Create a new collection
collection_name = dbname["user_1_items"]

上一篇
Day 16:Jupyter Notebook & PyMongo──資料庫的圖書館員
下一篇
Day 17:建造虛擬通道的關鍵
系列文
AIoT的藍藥丸與紅藥丸,你選哪個?62
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言