管理數據庫
顯示數據庫列表
show dbs
切換到其他數據庫
use <database_name>
創建數據庫
MongoDB沒有提供顯式的創建數據庫的MongoDB shell命令。數據庫是在添加集合或用戶時隱式地創建的。
可使用use database_name命令創建數據庫。但只有添加了至少一個文檔,才可真正創建完一個數據庫。
刪除數據庫
在MongoDB shell 中刪除數據庫,必須先切換到該數據庫,才可執行刪除操作。
1 use database_name 2 db.dropDatabase()
方法dropDatabase()刪除數據庫后,不會修改當前數據庫句柄db。如果在刪除數據庫后沒有切換到其他數據庫,則創建集合時將重新創建被刪除的數據庫。
獲取數據庫的統計信息
db.stats()方法可以獲取數據庫包含的集合數、數據庫大小、索引數等信息。
管理集合
顯示數據庫的集合列表
show collections
也可通過Database對象的方法getCollectionNames()返回一個集合名數組。
創建集合
db.createCollection(name,[options])
其中,參數name是創建的數據庫的名稱,options為可選參數。
參數列表:
cappend | 布爾值。為true時將創建一個固定集合,其大小不能超過屬性size指定的值。默認為false |
autoIndexId | 布爾值。為true時將自動為加入到集合中的每個文檔創建_id字段,並根據這個字段創建一個索引。默認為true |
size | 指定集合的大小,單位為字節 |
max | 指定固定集合最多可包含多少個文檔。為給新文檔騰出時間,將刪除最舊的文檔 |
在MongoDB中不需要創建集合。當插入一些文檔時,MongoDB會自動創建集合。
刪除集合
db.collection_name.drop()
如果選定的集合刪除成功,drop()方法會返回true,否則返回false。
MongoDB Database Method(數據庫方法)
方法名 | 描述 |
---|---|
db.cloneDatabase() | 從指定主機上克隆數據庫 |
db.currentOp() | 顯示當前正在進行的操作 |
db.commandHelp() | 返回數據庫命令的幫助信息 |
db.createCollection() | 創建一個聚集集合(table) |
db.cloneCollection() | 在MongoDB實例之間復制集合數據 |
db.copyDatabase() | 從指定的機器上復制指定數據庫數據到某個數據庫 |
db.dropDatabase(); | 刪除當前使用數據庫 |
db.fsyncLock() | 刷新寫入磁盤並鎖定該數據庫,以防止寫入操作,並協助備份操作 |
db.fsyncUnlock() | 允許繼續進行寫入鎖住的數據庫(解鎖) |
db.getLogComponents() | 返回日志消息詳細級別 |
db.getLastErrorObj() | 查看完整的錯誤結果 |
db.getMongo() | 查看當前db的鏈接機器地址 |
db.getCollection() | 得到指定名稱的聚集集合(table) |
db.getName() | 查看當前使用的數據庫 |
db.getPrevError() | 返回包含自上次錯誤復位所有的錯誤狀態文件 |
db.getCollectionNames() | 得到當前db的所有聚集集合 |
db.getCollectionInfos() | 返回當前數據庫中的所有集合信息 |
db.getLastError() | 返回上一次錯誤,如果沒有錯誤則為空 |
db.hostInfo() | 返回當前數據庫主機系統的相關信息 |
db.killOp() | 終止指定的操作 |
db.listCommands() | 顯示公共數據庫的命令列表 |
db.logout() | 注銷登錄 |
db.printCollectionStats() | 顯示當前db所有聚集索引的狀態 |
db.resetError() | 重置db.getPrevError()和getPrevError返回的錯誤信息 |
db.repairDatabase() | 修復當前數據庫 |
db.repairDatabase() | 修復當前數據庫 |
db.runCommand() | 運行一個數據庫命令 |
db.serverStatus() | 返回當前數據庫狀態的概要 |
db.setProfilingLevel() | 修改當前數據庫的分析級別 |
db.stats() | 顯示當前db狀態 |
db.shutdownServer() | 關閉當前數據庫運行實例或安全停止有關操作進程 |
db.setLogLevel() | 設置一個單獨的日志信息級別 |
db.version() | 查看當前db版本 |
MongoDB Collection Method(集合方法)
方法名 | 描述 |
---|---|
db.collection.aggregate() | 聚合,主要用於處理數據(諸如統計平均值,求和等),並返回計算后的數據結果 |
db.collection.bulkWrite() | 批量寫入 |
db.collection.createIndex() | 創建一個集合索引 |
db.collection.count() | 返回集合總數或匹配查詢的結果集總數 |
db.collection.deleteOne() | 刪除集合中的一個文檔 |
db.collection.deleteMany() | 刪除集合中的多個文檔 |
db.collection.dataSize() | 返回集合的大小 |
db.collection.distinct() | 返回具有指定字段不同值的文檔(去除指定字段的重復數據) |
db.collection.dropIndex() | 刪除一個集合中的指定索引 |
db.collection.dropIndexes() | 刪除一個集合中的所有索引 |
db.collection.drop() | 刪除當前數據庫中的collection集合 |
db.collection.explain() | 返回各種方法的查詢執行信息 |
已過時,現使用db.collection.createIndex() | |
db.collection.findOne() | 查詢單條數據 |
db.collection.findOneAndReplace() | 查詢單條數據並替換 |
db.collection.findOneAndDelete() | 查詢單條數據並刪除 |
db.collection.findOneAndUpdate() | 查詢單條數據並更新 |
db.collection.find() | 查詢集合,無參數則查詢所有,並返回一個游標對象 |
db.collection.findAndModify() | 查詢並修改 |
db.collection.getIndexes() | 返回當前集合的所有索引數組 |
db.collection.group() | 提供簡單的數據聚合功能 |
db.collection.isCapped() | 判斷集合是否為定容量 |
db.collection.insert() | 在當前集合插入一條或多條數據(或叫文檔) |
db.collection.insertMany() | 在當前集合插入多條數據 |
db.collection.insertOne() | 在當前集合插入一條數據 |
db.collection.reIndex() | 重建當前集合的所有索引 |
db.collection.renameCollection() | 重命名集合名稱 |
db.collection.replaceOne() | 替換集合中的一個文檔(一條數據) |
db.collection.remove() | 從當前集合刪除數據 |
db.collection.save() | 已插入數據更新 |
db.collection.stats() | 返回當前集合的狀態 |
db.collection.storageSize() | 返回當前集合已使用的空間大小 |
db.collection.totalSize() | 返回當前集合的總占用空間,包括所有文件和所有索引 |
db.collection.totalIndexSize() | 返回當前集合所有的索引所占用的空間大小 |
db.collection.updateMany() | 修改集合中的多條數據 |
db.collection.update() | 修改集合中的數據 |
db.collection.updateOne() | 修改集合中的一條數據 |
db.collection.validate() | 執行對集合驗證操作 |