萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

MongoDB 常用命令大全:安裝、CRUD、索引、用戶管理、備份還原一站式速查

MongoDB(源自 humongous)是介於鍵值存儲與關係型資料庫間的文檔型資料庫:高效能、高擴展、無綱要、支援豐富查詢與索引。以下為核心命令速查表。

安裝與啟動(Ubuntu 範例)

# 1. 解壓
tar -xvf mongodb-linux-i686-1.4.3.tgz
# 2. 建立資料目錄
sudo mkdir -p /data/db
sudo chown `id -u` /data/db
# 3. 啟動服務
cd mongodb-linux-i686-1.4.3/bin
./mongod
# 4. 另開終端進入 Shell
./mongo

核心概念

  • Database:一個 mongod 可建多個 DB。
  • Collection:相當於資料表,無固定結構。
  • Document:BSON(Binary JSON)文檔,支援巢狀物件/陣列、Date、BinData 等擴充型別。
  • Namespace:dbname.collectionname 形式的命名空間。
  • 索引:預設 _id 唯一索引,支援複合/唯一/TTL/地理空間索引。

Shell 常用操作

用戶與權限

use admin
db.addUser('user','pwd')      # 新增/修改密碼
db.auth('user','pwd')         # 認證
db.removeUser('user')         # 刪除用戶
show users                    # 列出用戶

資料庫級


show dbs                      # 列出所有 DB
show collections              # 列出當前 DB 所有集合
db.printCollectionStats()     # 集合統計
db.printReplicationInfo()     # 主從同步狀態
db.repairDatabase()           # 修復資料庫
db.setProfilingLevel(1)       # 0=off 1=slow 2=all
show profile                  # 慢查詢日誌
db.copyDatabase('src','dst')  # 複製資料庫
db.dropDatabase()             # 刪除當前資料庫

集合/文檔級(CRUD)


db.coll.insert({...})         # 插入
db.coll.find({...})           # 查詢
db.coll.update({...},{$set:{...}}) # 更新
db.coll.remove({...})         # 刪除
db.coll.drop()                # 刪除集合
db.coll.createIndex({field:1}) # 建立索引
db.coll.dropIndex("name")     # 刪除索引

BSON 特性

  • 輕量、跨平台、編碼效率高。
  • 比 Protocol Buffers 更 schema-less,空間略大但靈活。
  • 擴充型別:Date、BinData、ObjectId、Regex、Code 等。
50GB 以上資料量時,MongoDB 查詢速度可達 MySQL 10 倍以上(官方數據),適合海量非結構化日誌、物聯網、即時分析場景。
copyright © 萬盛學電腦網 all rights reserved