上一篇用MongoClient電話亭,前往MongoDB資料集的產地提到了:
MongoClient是PyMongo套件中用來連接MongoDB資料庫的類別,像是一個用Python語言和MongoDB資料庫溝通的電話
這次用圖書館來重新比喻整個過程,再連接到接下來的insert_one指令和find_one指令,會比較好理解。
從pymongo
模組導入MongoClient
,就像是你得了一把可以打開圖書館門的鑰匙。接著,建立一個MongoClient
物件,並指定資料庫的位置和名稱。這樣就連接到了本地端(localhost)的27017
號埠上了。這就像是你用這把鑰匙打開圖書館的門,走了進去。
接著,你選擇了一個叫做escape
的資料庫,並在該資料庫中選擇一個資料集(collection),叫做portal
。這就像是你在圖書館中找到了一個特定的書架(資料集),並準備上架新書。
insert_one
是MongoDB中的一個指令,圖書館員工作內容包含了『幫新書上架』。insert_one
指令是用來插入文件到MongoDB集合中的,就像圖書館上架新書一樣。insert_one
指令,就像我們在圖書館如果找不到書的時候,會去問圖書館員,或是用查詢書本位置的機台,來讓我們可以順利在圖書館找到我們需要的書。insert_one
指令來新增一個文件(document),代表一個虛擬通道的參數。(艾薇Ivy, 2023)」insert_one
指令,新增一筆包含參數的文件。Dictionary
來表示要插入的記錄record
。這就像準備好一本新書,並確定了它的各種資訊(如書名、作者等)。再用insert_one
把記錄新增到資料集當中,就像是上架一本新書。# Creating Dictionary of records to be
# inserted
record = { "_id": 5,
"name": "Raju",
"Roll No": "1005",
"Branch": "CSE"}
# Inserting the record1 in the collection
# by using collection.insert_one()
rec_id1 = collection.insert_one(record)
find_one
指令,就可以查詢到『虛擬通道』的資訊,確認它是不是已經被建立好了。(艾薇Ivy, 2023)」如果想在MongoDB中查詢_id為1的文件,你可以使用以下指令:
col.find_one({“_id”: 1})
這就像是在圖書館裡找一本編號為1的書一樣。如果找到了,你就可以拿起來看;如果沒有找到,代表可能沒有這本『編號為1的書』,你該去找其他書了。
MongoDB 的 CRUD(3) - Find & Update(Andylinee, 2020)這篇文章有提到如何使用findOne()指令,可以透過對指定的 field 的 value 進行過濾。
使用findOne()來查詢,只會回傳「第一個」符合過濾條件的文件(Document)。
如果想要回傳「所有符合條件的」 文件(Document),就要用作者Andylinee(2020)在文章介紹的find()。