[MongoDB]創建Database
MongoDB 找不到一個指令,是為了只創建Database。事實上,你不需要要手動的去創建一個實體的Database,因為MongoDB將在你創建真實資料的時候自動的幫你產生,並省略多餘的步驟。在你第一次創建Collection時,下Save指令後將自動為你宣告(下面將解釋)的Database與Collection,真正實例化。
對於有SQL背景的大部分人,以前我們必須手動的先創建一個Database,然後建表在插入資料到表。對於MongoDB,你不必先知道你要創建什麼,當第一次儲存一個Collection時,會自動的將你的當前虛擬(或已存在的真實)Database實例變成實體Database。
在概述後,下面將說明一個Database跟Collection是如何、何時被產生的。(以下命令的環境是MongoDB Shell。)
1.查看所有的Database
1: MongoDB shell version: 2.6.0
2: connecting to: test
3: > show dbs
4: admin 0.03125GB
5: local (empty)
- 使用 show dbs 命令,查看所有Database
系統預設有兩個有效的Database,admin 、 local 。
2."宣告"一個 Database
- 為什麼要用宣告呢?因為Database可以不必先存在(也可以是已經存在),可以先給定一個虛擬Database並給予名稱。
- 使用命令 use databaseName 來宣告一個Database;在下面要建立一個Database名稱為wfm
-
-
1: > use wfm
2: switched to db wfm
3: > show dbs
4: admin 0.03125GB
5: local (empty)
-
-
注意以上的命令過程,我們先宣告 要使用一個名為wfm的database,然後下查詢show dbs的語法。有發現嗎!wfm並不是真實的Database,但依然可以使用。
3.儲存資料後自動實例Database
假設情境:延續以上,此時可能需要一個實體的資料,並且需要一個存放人員資料的Collection,在此我們將此Collection 命名為Employees
-
命令如下:
-
1: db.Employees.save( {name:"Nike",Email:"Nike@gomail.com"} )
-
-
有發現嗎!此時Employees的Collection並沒有被創建,但卻可以被我們使用,並且給值,然後儲存。於儲存後將實例Database 與 Collection
4.驗證資料是否真的存為實體
-
命令如下:
-
1: > db.Employees.find()
2: { "_id" : ObjectId("4dbac7bfea37068bd0987573"), name : "Nike",Email:"Nike@gomail.com" }
3: >
4: > show dbs
5: admin 0.03125GB
6: local (empty)
7: wfm 0.03125GB
-
-
經以上查詢語法後,得知資料在已存在真實的存儲空間內了!
經此篇的說明後,了解到資料真正的被實例是在下Save命令後,在此之前全部的指令都可視為是一種宣告。所以開發人員不用事先建好database跟Collection,對於開發人員來說是非常友善的。
By-藍小伙