首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

MongoDB 學習筆記(二):CRUD 核心操作實戰

     編輯:DB2 教學

MongoDB CRUD 核心操作實戰

CRUD(Create、Read、Update、Delete)是數據庫操作的基礎。MongoDB 以文檔為核心,提供直觀的 Shell 命令。本文涵蓋庫/集合管理、文檔增刪改查、更新操作符等核心技能。

1. 庫與集合管理

// 切換/創建數據庫
use mydb

// 顯式創建集合
db.createCollection("users")

// 隱式創建:首次插入文檔自動建立集合
db.users.insert({name: "Alice"})

// 刪除集合
db.users.drop()

// 刪除當前數據庫
db.dropDatabase()

2. 文檔插入

// 單條插入,自動生成 _id
db.users.insert({name: "Bob", age: 25})

// 指定 _id
db.users.insert({_id: 1001, name: "Charlie"})

// 批量插入
db.users.insert([
    {name: "Dave", age: 30},
    {name: "Eve", age: 28}
])

3. 文檔查詢

// 查詢所有
db.users.find()

// 條件查詢
db.users.find({name: "Bob"})

// 投影:只返回 name 字段(_id 默認返回,需顯式排除)
db.users.find({}, {name: 1, _id: 0})

4. 文檔刪除

// 刪除所有匹配文檔
db.users.remove({name: "Bob"})

// 只刪除第一條匹配文檔
db.users.remove({name: "Bob"}, {justOne: true})

// 清空集合
db.users.remove({})

5. 文檔更新

基本語法

db.collection.update(
    ,      // 查詢條件
    ,     // 更新內容或操作符
    {upsert: true/false, multi: true/false}
)
  • upsert: true:不存在則插入
  • multi: true:更新所有匹配文檔(默認只更新第一條)

整文檔替換(慎用)

// 會完全替換文檔,原有其他字段丟失
db.users.update({name: "Bob"}, {name: "Bob New", age: 26})

局部更新操作符(推薦)

操作符作用示例
$set設置/更新字段值db.users.update({name:"Bob"}, {$set:{age:27}})
$inc數值增減db.users.update({name:"Bob"}, {$inc:{age:1}})
$rename重命名字段db.users.update({name:"Bob"}, {$rename:{"name":"username"}})
$unset刪除字段db.users.update({name:"Bob"}, {$unset:{age:1}})
$setOnInsertupsert 時設置初始值db.users.update({_id:1}, {$setOnInsert:{created:new Date()}}, {upsert:true})

6. 實戰組合案例

// 批量給所有年齡 < 30 的用戶加 1 歲,不存在則插入
db.users.update(
    {age: {$lt: 30}},
    {$inc: {age: 1}},
    {multi: true, upsert: false}
)

// 將 "status" 字段重命名為 "state",並設置默認值
db.users.update(
    {},
    {$rename: {"status": "state"}, $set: {state: "active"}},
    {multi: true}
)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved