1. 資料庫操作 看完前面的文章,大家應該把環境搭建好了,下麵我們就開始學習MongoDB的一些基本操作了。 首先我們要瞭解的一些要點: MongoDB將數據存儲為一個文檔,數據結構由鍵值對(key=>value)組成 MongoDB文檔類似於JSON對象,欄位值可以包含其他文檔、數組、文檔數組 其 ...
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 >