syntax.md

以下為 MongoDB 使用 mongosh 指令列介面的基礎語法,包含資料庫操作、文件操作、查詢與更新等常用語句。


📁 資料庫操作

切換或建立資料庫

use mydb  // 若 mydb 不存在,將在插入資料後建立

查看目前所有資料庫

show dbs

📂 集合(Collection)操作

查看目前資料庫中的集合

show collections

插入單筆文件

db.users.insertOne({ name: "Alice", age: 30 })

插入多筆文件

db.users.insertMany([
  { name: "Bob", age: 25 },
  { name: "Charlie", age: 35 }
])

🔍 查詢資料

查詢全部文件

db.users.find()

查詢第一筆符合條件的文件

db.users.findOne({ name: "Alice" })

計算符合條件的文件數量

db.users.countDocuments({ age: { $gte: 30 } })

使用條件查詢

db.users.find({ age: 30 })

條件運算符:

// 大於等於、小於
{ age: { $gte: 30, $lt: 40 } }

// $in / $nin
{ name: { $in: ["Alice", "Bob"] } }
{ name: { $nin: ["Eve"] } }

// 欄位是否存在
{ email: { $exists: true } }

// 組合條件
{ $and: [ { age: { $gt: 20 } }, { name: "Alice" } ] }
{ $or:  [ { age: 25 }, { name: "Charlie" } ] }
{ age: { $not: { $gte: 30 } } }

// 正規表達式
{ name: /a/i }  // 模糊比對包含 a,不分大小寫

限制與排序

// 只取前 2 筆
.find().limit(2)

// 跳過前 2 筆
.find().skip(2)

// 依年齡遞增排序
.find().sort({ age: 1 })

// 組合使用
.find().sort({ age: -1 }).limit(3)

✏️ 更新與刪除資料

更新單筆資料

db.users.updateOne(
  { name: "Alice" },
  { $set: { age: 31 } }
)

更新多筆資料

db.users.updateMany(
  { age: { $lt: 30 } },
  { $inc: { age: 1 } }
)

刪除單筆資料

db.users.deleteOne({ name: "Alice" })

刪除多筆資料

db.users.deleteMany({ age: { $gte: 35 } })

這些語法涵蓋 MongoDB 開發中最常使用的操作,適合初學者練習 CRUD 與複雜條件查詢。進階應用如聚合 (aggregate)、索引、驗證規則等可在後續學習補充。

Last updated