數據庫基本命令
查看當前數據庫名稱
db
列出所有在物理上存在的數據庫
show dbs
切換數據庫 如果數據庫不存在,則指向數據庫,但不創建,直到插入數據或創建集合時數據庫才被創建
use 數據庫名稱
查看當前數據庫信息
db.stats()
db:當前數據庫的名字。
collections:當前數據庫的集合數。
objects:當前數據庫所有集合總所包含的對象(即文檔)的數量。
avgObjSize:每個文檔的平均大小(以字節為單位)。
dataSize:此數據庫中保存的未壓縮數據的總大小,不是指占有磁盤大小,單位是bytes。
storageSize:分配給此數據庫的集合用于存儲文檔的空間總量,也就是當前數據庫占有磁盤大小,單位是bytes。
numExtents:當前數據庫所有集合包含的擴展數量的統計。
indexes:數據庫中包含的所有集合的索引總數,也就是system.indexes表數據行數。
indexSize:此數據庫上創建的所有索引的總大小,單位是bytes。
數據庫刪除:刪除當前指向的數據庫,如果數據庫不存在,則什么也不做
db.dropDatabase()
集合的相關操作
創建集合
語法
db.createCollection(name, options)
name是要創建的集合的名稱
options是一個文檔,用于指定集合的配置 選項??參數是可選的,所以只需要到指定的集合名稱。以下是可以使用的選項列表:
字段 類型 描述
capped 布爾 (可選)如果為 true,則創建固定集合。固定集合是指有著固定大小的集合,當達到最大值時,它會自動覆蓋最早的文檔。 當該值為 true 時,必須指定 size 參數。
autoIndexId 布爾 (可選)如為 true,自動在 _id 字段創建索引。默認為 false。
size 數值 (可選)為固定集合指定一個最大值.當文檔達到上限時,會將之前的數據覆蓋,單位為字節。如果 capped 為 true,也需要指定該字段。
max 數值 (可選)指定固定集合中包含文檔的最大數量。
例1:不限制集合大小
db.createCollection("stu")
例2:限制集合大小,后面學會插入語句后可以查看效果
參數capped:默認值為false表示不設置上限,值為true表示設置上限
參數size:當capped值為true時,需要指定此參數,表示上限大小,當文檔達到上限時,會將之前的數據覆蓋,單位為字節
db.createCollection("sub", { capped : true, size : 10 } )
例3:創建固定集合 sub,整個集合空間大小 6142 KB, 文檔最大個數為 100 個。
db.createCollection("sub", { capped : true, size : 10 ,max:100} )
查看當前數據庫所有集合
show collections:當前數據庫的集合數。
刪除集合
語法格式:
db.集合名稱.drop() 如果成功刪除選定集合,則 drop() 方法返回 true,否則返回 false