1. 程式人生 > >MongoDB學習(三):MongoDB Shell的使用

MongoDB學習(三):MongoDB Shell的使用

MongoDB shell

  MongoDB自帶簡潔但功能強大的JavaScript shell。JavaScript shell鍵入一個變數會將變數的值轉換為字串列印到控制檯上。

  開啟命令提示(cmd.exe)。進入到MongoDB解壓的目錄的bin目錄下,即D:\NoSQL\mongodb-win32-x86_64-2.4.3\bin;然後執行mongo.exe(或者mongo)啟動MongoDB shell。

  

  shell預設連線test資料庫。要使用別的資料庫,在伺服器地址後新增斜槓和資料庫名就可以了(下圖連線的就是本地預設埠的mongod,但用的是admin資料庫):  

  

  還有一種方法選擇連線資料庫,像SQL shell中一樣,使用 "use databaseName",資料庫不存在也沒關係。使用"db"檢視當前連線資料庫名詞。

  

  使用--nodb選項啟動shell,而不連線資料庫。

  

  Tips:使用ctrl+w 快速刪除游標所在行內容。

  使用db.help()可以檢視資料庫級別的命令的幫助,集合的相關幫助可以通過db.foo.help()來査看

  有個瞭解函式功用的技巧,就是在輸入的時候不要輸括號。這樣就會顯示該函式的JavaScript原始碼。下面我們看看remove的機制:

  

  使用db.集合名的方式來訪問集合一般不會有問題,但如果集合名恰好是資料庫類的一個屬性時就不行了。當JavaScript只有在db中找不到指定的屬性時,才會將其作為集合返回。當有屬性
與目標集合同名時,可以使用getCollection函式。

  例如,要訪問version這個集合。因為db.version是個資料庫函式(它返回正在執行的MongoDB伺服器的版本)。所以輸入db.version會顯示該函式的JavaScript原始碼,而不是我們想顯示的集合。
  

  當我們遍歷集合眾文件資訊時,可以書用"."操作符。

Show(db.posts.title);
Show(db.posts.content);
……

  也可以使用陣列訪問形式來訪問子集合:

collections=["title","author","content","date"];
for (i in collections) {
  Show(db.posts[collections[i]]);
}

JavaScript直譯器

  shell是功能完本的JavaScript直譯器 可以執行任何JavaScript程式.

  基本運算:

  

  呼叫Javascript標準庫或者函式:

  

  從shell中可以連線任意多個數據庫,這對多個伺服器的環境還是非常方便的。呼叫connect (),並將結果賦值給變數。

  (分片環境中待補充----)