MongoDB教程9-MongoDB創建集合


MongoDB 將文檔存儲在集合中。集合類似於關系數據庫中的表。如果集合不存在,則 MongoDB 會在第一次存儲該集合數據時創建該集合。

MongoDB 集合的命名規則

MongoDB 的集合就相當於 MySQL 的一個表 table,MySQL 列出的所有表都可以使用 show tables,MongoDB 可以使用 show collections 展示所有集合。

集合是一組文檔,是無模式的,集合名稱要求符合 UTF-8 標准的字符串,同時要遵循下表所示的注意事項。

MongoDB 集合命名的注意事項
序號 注意事項
1 集合名不能是空串
2 不能含有空字符 \0
3 不能以“system.”開頭,這是系統集合保留的前綴
4 集合名不能含保留字符“$”

對於分別部署在 Windows、Linux、UNIX 系統上的 MongoDB,集合的命名方式與數據庫命名方式一致。

創建集合

MongoDB 集合的創建有顯式和隱式兩種方法。

顯式創建集合可通過使用db.createCollection(name, options)方法來實現,參數 name 指要創建的集合名稱,options 是可選項,指定內存大小和索引等,下表描述 了 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM