MongoDB 是一款高效能、開源的 NoSQL 資料庫,被廣泛應用於現代的 web 開發中。它提供了一套簡單易用的指令集,讓開發者能夠輕鬆地進行資料儲存、查詢,還是更新、刪除……等資料庫操作。本篇文章將詳細介紹 MongoDB 的常用指令,並通過範例示範如何在實際項目中應用這些指令。
下載並安裝MongoDB Shell後 (鴨血是下載msi檔)
打開命令提示字元(CMD)
進入MongoDB命令列
輸入以下指令並按下 Enter:
mongosh
這時,你會看到提示符變為 test>
,表示你已成功進入 MongoDB 命令列。
1.資料庫
1-1.列出所有資料庫
在 MongoDB 命令列中,輸入以下指令以列出所有資料庫:
show dbs
你就可以看到電腦主機內的所有資料庫名稱。
1-2.使用或新增某個資料庫
要管理某個資料庫,例如名為 exampleDB
的資料庫,可以使用 use
指令。具體操作如下:
- 輸入
use exampleDB
- 如果
exampleDB
資料庫不存在,該指令會自動創建exampleDB
並進入該資料庫
use <資料庫名稱>
1-3.顯示目前使用的資料庫
若你正在使用 exampleDB
資料庫,輸入以下指令便會顯示目前使用的資料庫名稱:
db
這樣,系統會回傳 exampleDB
。
2.資料表
2-1.顯示目前資料庫的所有資料表(集合)
資料庫中存放著一個網站的各種資料表,例如用戶資料表(user)、文章資料表(post)、產品資料表(product)等。這些資料表在存入 MongoDB 後,會變成 users、posts、products 等集合(collections),每個集合由多筆資料組成。
要顯示目前資料庫中的所有集合,使用以下指令:
show collections
2-2.創建新的資料表(集合)
要創建新的集合,例如名為 users
的集合,可以使用以下指令:
db.createCollection("users")
範本格式如下:
db.createCollection("<集合名稱>")
3.資料操作
3-1.搜尋某資料表中所有資料
將下方的<collection>
替為集合的名稱:
db.<collection>.find()
以使用者(users)為例,則輸入:
db.users.find()
3-2.按照篩選條件搜尋資料
db.<collection>.find({<query>})
若要找到name為”王大明”的使用者,則輸入:
db.users.find({ name: "王大明" })
3-3.更新單筆資料
db.<collection>.updateOne({<filter>}, {$set: {<update>}})
若要找到name為”王大明”的使用者,並更新name為”王小明”,則輸入:
db.users.updateOne({ name: "王大明" }, {$set: { name: "王小明" }})
3-4.刪除單筆資料
db.<collection>.deleteOne({<filter>})
使用本地資料庫時,不妨安裝MongoDB Compass
當你連接的URI還是mongodb://localhost:27017時,與其看著黑黑的畫面跟電腦溝通,還是不如安裝MongoDB Compass,用簡易美觀的介面來管理,MongoDB Compass的介面跟MongoDB Atlas(用於線上)幾乎一模一樣。
關於MongoDB Atlas
有些比較便宜的主機方案資料庫只有提供MySQL,但你想使用MongoDB怎麼辦?許多人的第一步就是去使用MongoDB Atlas的免費方案,免費是很好,但速度比起直接用主機提供的MySQL就硬是慢了一些,增加預算或配合主機工具還是有其必要性。