標籤:使用者建立 出現 設定 資料結構 maple 方式 支援 res ima
首先來介紹下Mongodb的基本概念:
左邊一列是關聯式資料庫的術語,右邊這一列是NOSQL也就是mongodb的術語
database: database 資料庫
table: collection 資料庫表/集合
row: document 資料記錄行/文檔
coloum: field 資料欄位/域
index: index 索引
table joins: 表串連,Mongodb不支援
primary key: primay key 主鍵,Mongodb自動將id設為主鍵
首先來看資料庫的概念,進入mongo後用show dbs可以查看當前所有的資料列表:此時剛安裝好只有admin和local兩個資料庫
> show dbs
admin 0.000GB
local 0.000GB
use命令選擇需要使用的資料庫。
> use admin
switched to db admin
如果我們想建立自己的一個資料庫也可以使用use命令。可以看到建立的資料庫再用show dbs的時候是無法觀察到的。這需要我們插入資料
> use maple
switched to db maple
> show dbs
admin 0.000GB
local 0.000GB
> db
maple
在插入資料前需要介紹文檔和集合的概念:
文檔是一組索引值(key-value)對(即BSON)。MongoDB 的文檔不需要設定相同的欄位,並且相同的欄位不需要相同的資料類型,這與關係型資料庫有很大的區別,也是 MongoDB 非常突出的特點。一個文檔的例子:{‘name’:’zhf’}。這和字典的格式是一樣的。
文檔格式需要注意的是:
- 文檔中的鍵/值對是有序的。
- 文檔中的值不僅可以是在雙引號裡面的字串,還可以是其他幾種資料類型(甚至可以是整個嵌入的文檔)。
- MongoDB區分類型和大小寫。
- MongoDB的文檔不能有重複的鍵。
- 文檔的鍵是字串。除了少數例外情況,鍵可以使用任意UTF-8字元。
文檔鍵命名規範:
- 鍵不能含有\0 (Null 字元)。這個字元用來表示鍵的結尾。
- .和$有特別的意義,只有在特定環境下才能使用。
- 以底線"_"開頭的鍵是保留的(不是嚴格要求的)。
集合:
集合就是 MongoDB 文檔組,前面我們介紹術語的時候集合對應著關聯式資料庫的table也就是表格。而文檔對應關聯式資料庫的行。因此集合可以看做是文檔的集合。集合存在於資料庫中,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和類型的資料,但通常情況下我們插入集合的資料都會有一定的關聯性。比如,我們可以將以下不同資料結構的文檔插入到集合中:
{‘name’:’zhf’}
{‘name’:’zhf’,’city’:’chengdu’}
{‘name’:’zhf’,’city’:’chengdu’,’age’:30}
從這可以看出,相比與關聯式資料庫中的資料,mongodb的資料結構更加隨意。不要求每行的資料類型都一樣。
集合的命令規範
- 集合名不能是Null 字元串""。
- 集合名不能含有\0字元(Null 字元),這個字元表示集合名的結尾。
- 集合名不能以"system."開頭,這是為系統集合保留的首碼。
- 使用者建立的集合名字不能含有保留字元。有些驅動程式的確支援在集合名裡麵包含,這是因為某些系統產生的集合中包含該字元。除非你要訪問這種系統建立的集合,否則千萬不要在名字裡出現$。
介紹完文檔和集合,我們就來向資料庫中插入一組資料。插入後通過show dbs就可以找到我們的資料庫了
> db.maple.insert({"name":"zhf"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
local 0.000GB
maple 0.000GB
前面db.maple.insert()命令其實是在maple資料庫中的maple集合插入了一個文檔{“name”:”zhf”}
通過db.集合名.find()的方式就可以查詢到集合的內容
> db.maple.find()
{ "_id" : ObjectId("5a3133be956c5a2e19343140"), "name" : "zhf" }
使用show collections的方式就可以列出所有存在的集合。
> show collections
maple
如果要刪除集合,使用db.集合名.drop()的方式
> db.maple.drop()
true
> show collections
如果要刪除資料庫。採用db.dropDatabase()命令
> db.dropDatabase()
{ "dropped" : "maple", "ok" : 1 }
> show dbs
admin 0.000GB
local 0.000GB
mongodb學習之:資料庫