MongoDB 基本指令 –– 資料庫管理筆記

MongoDB 是一款高效能、開源的 NoSQL 資料庫,被廣泛應用於現代的 web 開發中。它提供了一套簡單易用的指令集,讓開發者能夠輕鬆地進行資料儲存、查詢,還是更新、刪除……等資料庫操作。本篇文章將詳細介紹 MongoDB 的常用指令,並通過範例示範如何在實際項目中應用這些指令。

下載並安裝MongoDB Shell後 (鴨血是下載msi檔)

打開命令提示字元(CMD)

進入MongoDB命令列

輸入以下指令並按下 Enter:

mongosh

這時,你會看到提示符變為 test>,表示你已成功進入 MongoDB 命令列。

1.資料庫

1-1.列出所有資料庫

在 MongoDB 命令列中,輸入以下指令以列出所有資料庫:

show dbs

你就可以看到電腦主機內的所有資料庫名稱。

1-2.使用或新增某個資料庫

要管理某個資料庫,例如名為 exampleDB 的資料庫,可以使用 use 指令。具體操作如下:

  1. 輸入 use exampleDB
  2. 如果 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("<集合名稱>")
當你儲存第一筆資料時,集合會自動以 model 的複數名稱建立,通常不需要手動創建集合。

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-Compass

關於MongoDB Atlas

有些比較便宜的主機方案資料庫只有提供MySQL,但你想使用MongoDB怎麼辦?許多人的第一步就是去使用MongoDB Atlas的免費方案,免費是很好,但速度比起直接用主機提供的MySQL就硬是慢了一些,增加預算或配合主機工具還是有其必要性。