MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫,是一個基於分佈式文件存儲的開源數據庫系統。旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案。sql
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫。mongodb
在高負載的狀況下,添加更多的節點,能夠保證服務器性能。數據庫
MongoDB 旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。數組
MongoDB 將數據存儲爲一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔相似於 JSON 對象。字段值能夠包含其餘文檔,數組及文檔數組。服務器
概念上來說:數據結構
MongoDB的集合相似sqlserver的表app
MongoDB的文檔相似sqlserver的表數據分佈式
db.createCollection(name, {size: ..., capped: ..., max: ...,autoIndexId: ...})
參數說明:sqlserver
name:要建立集合的名稱性能
size(數值):(可選)爲固定集合指定一個最大值(以字節計)。若是 capped 爲 true,也須要指定該字段。
capped(布爾):(可選)若是爲 true,則建立固定集合。固定集合是指有着固定大小的集合,當達到最大值時,它會自動覆蓋最先的文檔。當該值爲 true 時,必須指定 size 參數。
autoIndexId(布爾):(可選)如爲 true,自動在 _id 字段建立索引。默認爲 false。
max(數值):(可選)指定固定集合中包含文檔的最大數量。
在插入文檔時,MongoDB 首先檢查固定集合的 size 字段,而後檢查 max 字段。
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> use tsemongo switched to db tsemongo _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.createCollection("tsecollection") { "ok": 1 }
查看已有集合,能夠使用show collections或者show tables這兩個命令:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show collections tsecollection → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB
建立固定集合tsegoods,整個集合空間大小 1073741824KB=1GB,最大個數爲 10000 個:
#不推薦使用autoIndexId選項,未來的版本中將刪除該選項
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.createCollection("tsegoods",{capped:true,autoIndexId:true,size:1073741824,max:10000}) { "note": "the autoIndexId option is deprecated and will be removed in a future release", "ok": 1 }
在MongoDB中,你不須要建立集合。當你插入一些文檔時,MongoDB 也會自動建立集合:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegoods → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.tsegload.insert({"name":"Tse先生"}) Inserted 1 record(s) in 311ms WriteResult({ "nInserted": 1 }) _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegload → 0.000MB / 0.004MB tsegoods → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB
MongoDB 中刪除集合語法:
db.collection.drop()
若是成功刪除選定集合,則 drop() 方法返回 true,不然返回 false。
刪除集合實例1:
在tsemongo庫中刪除tsegoods集合,先show tables查詢一下tsemongo庫中的全部集合,或者show collections查詢:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegload → 0.000MB / 0.004MB tsegoods → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.tsegoods.drop() true _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegload → 0.000MB / 0.016MB tsemongo → 0.000MB / 0.016MB