MongoDB教程9-MongoDB建立集合
阿新 • • 發佈:2020-09-02
MongoDB將文件儲存在集合中。集合類似於關係資料庫中的表。如果集合不存在,則 MongoDB 會在第一次儲存該集合資料時建立該集合。
MongoDB 集合的命名規則
MongoDB 的集合就相當於MySQL的一個表 table,MySQL 列出的所有表都可以使用 show tables,MongoDB 可以使用 show collections 展示所有集合。
集合是一組文件,是無模式的,集合名稱要求符合 UTF-8 標準的字串,同時要遵循下表所示的注意事項。
序號 | 注意事項 |
---|---|
1 | 集合名不能是空串 |
2 | 不能含有空字元 \0 |
3 | 不能以“system.”開頭,這是系統集合保留的字首 |
4 | 集合名不能含保留字元“$” |
對於分別部署在 Windows、Linux、UNIX 系統上的 MongoDB,集合的命名方式與資料庫命名方式一致。
建立集合
MongoDB 集合的建立有顯式和隱式兩種方法。
顯式建立集合可通過使用db.createCollection(name, options)
方法來實現,引數 name 指要建立的集合名稱,options 是可選項,指定記憶體大小和索引等,下表描述 了 options 可使用的選項。
引數 | 型別 | 描述 |
---|---|---|
capped | Boolean | (可選)如果為 true,則啟用封閉的集合。上限集合是固定大小的集合,它在達到其最大時自動覆蓋其最舊的條目。如果指定 true,則還需要指定 size 引數 |
size | 數字 | (可選)指定上限集合的最大大小(以位元組為單位)。如果 capped 為 true,那麼還需要指定此欄位的值 |
max | 數字 | (可選)指定上限集合中允許的最大文件數 |
注意:在插入文件時,MongoDB 首先檢查上限集合 size欄位的大小,然後檢查 max 欄位。
顯式建立集合的一個例子:
> use myDB switched to db myDB > > show dbs admin 0.000GB config 0.000GB local 0.000GB > > db.createCollection("myColl") // 在myDB資料庫中建立集合 myColl {"ok" : 1 }
在 MongoDB 中,當插入文件時,如果集合不存在,則 MongoDB 會隱式地自動建立集合,方法如下:
> db.myColl2.insert({"name":"tom"}) // myColl2是集合名 WriteResult({ "nInserted" : 1 }) > > show collections // 檢視此時的所有集合 myColl myColl2
可以看到顯示和隱式建立的集合...
之前提到過建立的資料庫如果沒有值的時候使用show dbs不會顯示, 現在myDB資料庫中已經有集合了, 再次檢視
> show dbs admin 0.000GB config 0.000GB local 0.000GB myDB 0.000GB
下面是帶有幾個關鍵引數的 createCollection() 的用法:
建立固定集合 myColl3,整個集合空間大小 6142800 KB, 文件最大個數為 10000 個。
> db.createCollection("myColl3", {capped:true, size:6142800, max:10000}) { "ok" : 1 } > > show collections myColl myColl2 myColl3