mongodb學習之:資料庫

來源:互聯網
上載者:User

標籤:使用者建立   出現   設定   資料結構   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’}。這和字典的格式是一樣的。

文檔格式需要注意的是:

  1. 文檔中的鍵/值對是有序的。
  2. 文檔中的值不僅可以是在雙引號裡面的字串,還可以是其他幾種資料類型(甚至可以是整個嵌入的文檔)。
  3. MongoDB區分類型和大小寫。
  4. MongoDB的文檔不能有重複的鍵。
  5. 文檔的鍵是字串。除了少數例外情況,鍵可以使用任意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學習之:資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.