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