1. 數據庫操作
看完前面的文章,大家應該把環境搭建好了,下面我們就開始學習MongoDB的一些基本操作了。
首先我們要了解的一些要點:
MongoDB將數據存儲爲一個文檔,數據結構由鍵值對(key=>value)組成
MongoDB文檔類似於JSON對象,字段值可以包含其他文檔、數組、文檔數組
其次就是SQL術語和MongoDB術語的對比:
學過MySQL的同學就很好對比了,三個主要的:數據庫、集合、文檔
集合就是MySQL中的表
文檔就是MySQL中的行
文檔:就是一個對象,由鍵值對構成,是json的擴展Bson形式。
{'name':'guojing','gender':'男'}
集合:類似於MySQL中的表,儲存多個文檔,結構不固定,如可以儲存如下文檔在一個集合中。
{'name':'guojing','gender':'男'}
{'name':'huangrong','age':'18'}
{'book':'shuihuzhuan','heros':'108'}
數據庫:是一個集合的物理容器,一個數據庫中可以包含多個文檔。
一個服務器通常有多個數據庫。
1.1 創建數據庫
MongoDB使用use DATABASE_NAME命令來創建數據庫。如果指定的數據庫DATABASE_NAME不存在,則該命令將創建一個新的數據庫,否則返回現有的數據庫。
語法:
use DATABASE_NAME
如果要創建一個名稱爲newdb的數據庫,那麼使用use DATABASE_NAME語句將如下所示:
> use newdb
switched to db newdb
1.2 查看當前選擇的數據庫
輸入db命令就可查詢:
>db
newdb
1.3 查看數據庫列表
如果要檢查數據庫列表,請使用命令show dbs。
>show dbs
local 0.000025GB
test 0.00002GB
創建的數據庫newdb不在列表中。要顯示數據庫,需要至少插入一個文檔,空的數據庫是不顯示出來的。
>db.items.insert({"name":"yiibai tutorials"})
>show dbs
local 0.00005GB
test 0.00002GB
newdb 0.00002GB
在 MongoDB 中默認數據庫是:test
。 如果您還沒有創建過任何數據庫,則集合/文檔將存儲在test
數據庫中。
1.4 刪除數據庫
MongoDB中的db.dropDatabase()命令用於刪除現有的數據庫。
db.dropDatabase()
這將刪除當前所選數據庫。 如果沒有選擇任何數據庫,那麼它將刪除默認的test數據庫。
刪除例子:
首先,使用命令show dbs檢查可用數據庫的列表。
>show dbs
local 0.00025GB
newdb 0.0002GB
test 0.00012GB
>
如果要刪除新數據庫newdb
,那麼dropDatabase()
命令將如下所示:
>use newdb
switched to db newdb
>db.dropDatabase()
>{ "dropped" : "newdb", "ok" : 1 }
>
現在檢查數據庫列表
>show dbs
local 0.00025GB
test 0.0002GB
>
2. 集合操作
2.1 創建集合
MongoDB 的db.createCollection(name , options)方法用於在MongoDB 中創建集合。
語法:
db.createCollection(name, options)
在命令中,name是要創建的集合的名稱。options是一個文檔,用於指定集合的配置。
options參數是可選的,因此只需要指定集合的名稱。 以下是可以使用的選項列表:
在插入文檔時,MongoDB首先檢查上限集合capped
字段的大小,然後檢查max
字段。
例子:
沒有使用選項的createCollection()方法的基本語法如下 :
>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>
可以使用命令show collections檢查創建的集合。
>show collections
mycollection
以下示例顯示了createCollection()方法的語法,其中幾個重要選項
> db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000 })
{ "ok" : 1 }
>
在MongoDB中,不需要創建集合。當插入一些文檔時,MongoDB 會自動創建集合。
>db.newcollection.insert({"name" : "yiibaitutorials"})
>show collections
mycol
newcollection
mycollection
>
2.2 刪除集合
MongoDB 的db.collection.drop()用於從數據庫中刪除集合。
語法:
db.COLLECTION_NAME.drop()
例子:
首先,檢查數據庫test中可用的集合。
>use test
switched to db test
> show collections
mycol
mycollection
newcollection
>
現在刪除名稱爲mycollection的集合。
>db.mycollection.drop()
true
>
再次檢查當前數據庫的集合列表,如下:
> show collections
mycol
newcollection
>