說明:英文原文位址:https://docs.mongodb.com/v3.2/mongo/。
本文章屬個人翻譯,作個人學習之用,如有雷同,純屬巧合。如有錯誤之處,歡迎指正。
mongo Shell
介紹
mongo
shell是MongoDB的互動式javascript界面。可用使用
mongo
shell來查詢和更新資料,當然可也可執行管理操作。
mongo
shell是MongoDB釋出的元件之一。一旦安裝并啟動MongoDB,可用用
mongo
shell連接配接到你運作的MongoDB執行個體。
MongoDB手冊中的大部分例子都是使用
mongo
shell的,很多驅動對MongoDB提供了類似的界面。
啟動mongo Shell
重要提示:
啟動
shell前請確定MongoDB已經運作。
mongo
要啟動
mongo
shell并連接配接到運作在
localhost
上預設端口的MongoDB執行個體:
-
- 在終端中,切換到你的mongodb安裝目錄
cd mongodb安裝目錄
- 輸入 ./bin/mongo 啟動
mongo
./bin/mongo
環境變量,隻需輸入PATH
即可,而不用mongo
。./bin/mongo
- 在終端中,切換到你的mongodb安裝目錄
選項
當不用任何參數運作
mongo
時,
mongo
shell會試圖連接配接到運作在本地,監聽27017端口的MongoDB執行個體。要指定不同的主機或端口号,或者其它選項,請參考啟動mongo示例和mongo參考,它們提供了可用選項的詳細資訊。
.mongorc.js 檔案
mongo
啟動時,會在使用者的HOME目錄中檢查一個名為
.mongorc.js
的javascript檔案,如果找到了,在第一次顯示提示之前,
mongo
會解釋
.mongorc.js
檔案的内容。如果你用
mongo
shell來執行javascript檔案或者表達式,在指令行中使用
--eval
選項,或者給
mongo
指定一個.js檔案,
mongo
shell将會處理完javascript後讀取
.mongorc.js
檔案并執行。可以用
--norc
選項來禁止
.mongorc.js
執行。
使用mongo Shell工作
要顯示正在使用的資料庫,用:
db
該操作應該傳回
test
,它是預設的資料庫。要切換資料庫,用
use <db>
,如下:
use <database>
要列出可用的資料庫,用
show dbs
。
db.getSiblingDB()
可用列出目前資料庫之外的其它資料庫,同時不會鐵環你的目前資料庫上下文。
你可以切換到一個不存在的資料庫。當第一次在該資料庫中存儲資料時,如建立一個集合,MongoDB會建立該資料庫。如,以下代碼在
insert()
操作時同時建立了資料庫
myNewDatabase
和集合
myCollection
:
use myNewDatabase db.myCollection.insert( { x: } );
db.myCollection.insert()
是
mongo
shell中可用的方法之一。
-
指向目前資料庫db
-
是集合的名字myCollection
如果
mongo
shell不接受集合的名字,例如,名字包含空格,短橫線,或者以數字開頭,你可以用另一種文法來指代集合,如:
db["3test"].find() db.getCollection("3test").find()
格式化列印結果
db.collection.find()
傳回結果的遊标,然而,在
mongo
shell中,如果遊标沒有指派給用var定義的變量,遊标會自動疊代20次直到終止,列印結果中前20個文檔。
mongo
shell會提示Type it以疊代另一個20次。
要格式化列印結果,可用添加
.pretty()
到操作後面,如:
db.myCollection.find().pretty()
此外,你可以在
mongo
shell中用如下顯示的列印方法:
-
,非格式化列印print()
-
,列印print(tojson(<obj>))
格式化後的資料,等價于JSON
printjson()
-
,列印printjson()
格式化後的資料,等價于JSON
print(tojson(<obj>))
欲知更多關于
mongo
shell中處理遊标的資訊和例子,請查閱在mongo Shell中疊代遊标。參考遊标幫助以從
mongo
shell中檢視遊标幫助清單。
mongo Shell中的多行操作
如果用左圓括号
'('
,左大括号
'{'
,或左方括号
'['
作為一行的結尾,後續的行就會一省略号
"..."
開頭,直到你輸入相應的右圓括号
'}'
,右大括号
'}'
或右方括号
']'
。在執行代碼前,
mongo
shell會等待這些括号的閉合。如下:
> if ( x > ) { ... count++; ... print (x); ... }
連續輸入兩個空行可退出連續模式,如下:
> if (x > ... ... >
Tab補全其它鍵盤快捷鍵
mongo
shell支援鍵盤快捷鍵
- 可以用上下方向按鍵在指令曆史中滾動。參考
以獲得更多關于.dbshell
檔案的資訊。.dbshell
- 用
鍵來自動完成或者列出可能的補全項,下面的例子用Tab
鍵來補全以字母Tab
開頭的方法名:'c'
db.myCollection.c<Tab>
開頭的集合方法,'c'
操作将會列出以Tab
開頭的一系列方法。'c'
至于完整的快捷方法清單,請移步Shell鍵盤快捷鍵。
退出Shell
要退出shell,輸入
quit()
或用
<Ctrl+C>
快捷鍵。