[MongoDB]創建Database

  • 3169
  • 0
  • 2014-07-09

[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-藍小伙