1. 程式人生 > >MongoDB 常用操作命令

MongoDB 常用操作命令

前言】

        以下命令摘自官網截止目前2016年8月25日為止最新版3.2的部分,只作為參考,鄙人水平有限(其實我是渣渣偷笑)有的地方翻譯不到位,還請海涵並指出,一定虛心學習!

一、常用命令

命令

參考釋義

help

顯示基本操作命令

db.help()

顯示資料庫操作命令

db.collection.help()

顯示集合操作命令

sh.help()

顯示資料庫分片操作命令

rs.help()

顯示副本集操作命令

help admin

顯示管理員操作命令

help connect

顯示連線資料庫命令

help keys

顯示快捷鍵

help misc

顯示其他該知道的東西

show dbs

顯示所有資料庫列表

show collections

顯示當前資料庫所有集合列表

show users

顯示所有使用者列表

show logs

顯示所有日誌名稱列表(預設為global)

use dbname

切換/建立資料庫(若不存在則自動建立)

二、資料庫相關

命令

參考釋義

db.cloneCollection()

在MongoDB例項之間複製集合資料

db.cloneDatabase()

從指定主機上克隆資料庫到當前資料庫

db.commandHelp()

返回資料庫命令的幫助資訊

db.copyDatabase()

從指定的主機上覆制指定資料庫資料到某個資料庫

db.createCollection()

建立一個新的集合

db.currentOp()

顯示當前正在進行的操作。

db.dropDatabase()

刪除當前資料庫。

db.fsyncLock()

重新整理寫入磁碟並鎖定該資料庫,以防止寫入操作,並協助備份操作。

db.fsyncUnlock()

允許繼續進行寫入鎖住的資料庫(解鎖)

db.getCollection()

返回一個集合物件。需要傳遞一個在資料庫中存在的一個有效的集合名稱

db.getCollectionInfos()

返回當前資料庫中的所有集合資訊。

db.getCollectionNames()

列出當前資料庫中的所有集合。

db.getLastError()

檢查並返回最後一個操作的狀態。

db.getLastErrorObj()

返回上次操作狀態的檔案。

db.getLogComponents()

返回日誌訊息詳細級別。

db.getMongo()

返回MongoDB當前連線的連線物件。

db.getName()

返回當前資料庫的名稱。(也可以直接使用db;命令)

db.getPrevError()

返回包含自上次錯誤復位所有的錯誤狀態檔案。

db.hostInfo()

返回當前資料庫主機系統的相關資訊

db.killOp()

終止指定的操作。

db.listCommands()

顯示公共資料庫的命令列表。

db.logout()

登出登入

db.repairDatabase()

修復當前資料庫

db.resetError()

重置db.getPrevError()和getPrevError返回的錯誤資訊。

db.runCommand()

執行一個數據庫命令。

db.serverStatus()

返回當前資料庫狀態的概要

db.setLogLevel()

設定一個單獨的日誌資訊級別。

db.setProfilingLevel()

修改當前資料庫的分析級別。

db.shutdownServer()

關閉當前資料庫執行例項或安全停止有關操作程序

db.stats()

返回在當前資料庫的狀態報告。

db.version()

返回當前資料庫的版本資訊

三、集合相關

命令

參考釋義

db.collection.bulkWrite()

批量寫入

db.collection.count()

返回集合總數或匹配查詢的結果集總數

db.collection.copyTo()

已過時。現此操作被封裝在兩個資料庫例項之間的複製資料中

db.collection.createIndex()

建立一個集合索引

db.collection.dataSize()

返回集合的大小

db.collection.deleteOne()

刪除集合中的一個文件

db.collection.deleteMany()

刪除集合中的多個文件。

db.collection.distinct()

返回具有指定欄位不同值的文件(去除指定欄位的重複資料)

db.collection.drop()

刪除當前資料庫中的collection集合

db.collection.dropIndex()

刪除一個集合中的指定索引

db.collection.dropIndexes()

刪除一個集合中的所有索引

db.collection.ensureIndex()

已過時。現使用db.collection.createIndex() 。

db.collection.explain()

返回各種方法的查詢執行資訊

db.collection.find()

查詢集合,無引數則查詢所有,並返回一個遊標物件。

db.collection.findAndModify()

查詢並修改

db.collection.findOne()

查詢單條資料

db.collection.findOneAndDelete()

查詢單條資料並刪除

db.collection.findOneAndReplace()

查詢單條資料並替換

db.collection.findOneAndUpdate()

查詢單條資料並更新

db.collection.getIndexes()

返回當前集合的所有索引陣列

db.collection.group()

提供簡單的資料聚合功能

db.collection.insert()

在當前集合插入一條或多條資料(或叫文件)

db.collection.insertOne()

在當前集合插入一條資料

db.collection.insertMany()

在當前集合插入多條資料

db.collection.isCapped()

判斷集合是否為定容量

db.collection.reIndex()

重建當前集合的所有索引

db.collection.replaceOne()

替換集合中的一個文件(一條資料)

db.collection.remove()

從當前集合刪除資料

db.collection.renameCollection()

重新命名集合名稱

db.collection.save()

在當前集合插入一條資料,同insert()方法的區別:

當要插入的資料已存在時,save會執行更新操作,而insert方法會忽略當前操作

db.collection.stats()

返回當前集合的狀態

db.collection.storageSize()

返回當前集合已使用的空間大小

db.collection.totalSize()

返回當前集合的總佔用空間,包括所有檔案和所有索引

db.collection.totalIndexSize()

返回當前集合所有的索引所佔用的空間大小

db.collection.update()

修改集合中的資料。

db.collection.updateOne()

修改集合中的一條資料。

db.collection.updateMany()

修改集合中的多條資料。

db.collection.validate()

執行對集合驗證操作。