mongo shell 是 MongoDB的交互式 JavaScript 接口. 你可使用 mongo shell 查詢和更新數據以及執行管理操做. mongodb
mongo shell 是 MongoDB 發行版的一個組件. 一旦你已經安裝而且啓動了 MongoDB. 鏈接 mongo shell 到你運行的 MongoDB 實例. 在 MongoDB 手冊的大部分示例都是使用 mongo shell; 然而, 許多驅動程序爲 MongoDB 提供了相似的接口.shell
mongo
Shell重要:
在嘗試運行 mongo shell 以前, 確保 MongoDB 正在運行.數據庫
啓動 mongo shell, 並使用默認端口(port)鏈接到本地(localhost)正在運行 MongoDB 實例.json
在終端窗口的提示下(或者 Windows 的命令符), 轉到你的<mongodb installation dir>:segmentfault
cd <mongodb installation dir>
輸入 ./bin/mongo
來啓動 mongo:app
./bin/mongo
若是你已經將 <mongodb installation dir>/bin 添加到 PATH 環境變量, 你只須要輸入 mongo
而不是 ./bin/mongo
.ui
當你不帶任何參數運行 mongo, mongo shell 將會嘗試鏈接在本地運行的端口爲27017的 MongoDB 實例. 指定不一樣的主機或者端口號, 以及其它選項, 請參閱啓動 mongo 的示例 和 mongo 參考, 其中提供了可用選項的詳細信息.命令行
.mongorc.js
文件當啓動時, mongo 會檢查用戶的家目錄是否存在一個名爲 .mongorc.js 的 JavaScript 文件. 若是找到, mongo 會在第一次顯式提示以前解析 .mongorc.js 的內容. 若是你想使用 shell 來解析一個 JavaScript 文件或者表達式, 不如在命令行使用 --eval 選項或者爲 mongo 指定一個 .js 文件, mongo 將會在 JavaScript 完成處理以後讀取 .mongorc.js 文件. 你可使用 --norc 選項來防止加載 .mongorc.js.code
mongo
Shell要顯示你正在使用的數據庫, 輸入 db
:接口
db
操做應該返回 test
, 這是默認的數據庫. 要切換數據庫, 執行 use <db>
, 如如下示例:
use <database>
列出可用的數據庫, 使用 show dbs
. 請參閱 db.getSiblingDB() 方法從當前的數據庫訪問一個不一樣的數據, 而不切換你的當前數據庫的上下文(即 db).
你也能夠切換到不存在的數據庫. 當你數據庫第一次存儲數據時, 例如經過建立集合, MongoDB 會建立數據庫. 例如, 下面在 insert() 操做期間, 會建立 myNewDatabase 數據庫和 myCollection 集合.
use myNewDatabase db.myCollection.insert( { x: 1 } );
db.myCollection.insert() 是 mongo shell 中可用的方法之一.
db 引用當前的數據庫.
myCollection 是集合的名字.
若是 mongo shell 不接受集合的名稱. 例如, 若是名稱包含空格, 連字符或者數字開頭, 你可使用另一個語法去建立集合, 好比這樣:
db["3test"].find() db.getCollection("3test").find()
有關 mongo shell 中的基礎 MongoDB 操做的更多文檔, 請參閱:
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 會一直等待右括號, 右大括號或者右中括號, 以下所示:
> if ( x > 0 ) { ... count++; ... print (x); ... }
若是你輸入兩行空行, 你能夠退出行連續模式, 以下所示:
> if (x > 0 ... ... >
mongo shell 支持鍵盤快捷鍵. 例如:
使用 ↑/↓ 箭頭鍵滾動命令歷史記錄. 請在 .dbshell 文件參閱 .dbshell 文檔獲取更多信息.
使用 <Tab> 自動完成或者列出可自動完成的命令列表, 以下所示, 使用 <Tab> 來完成以字母 'c' 開頭的方法名稱.
db.myCollection.c<Tab>
由於有不少 collection(集合) 方法以字母 "c" 開頭, <Tab> 將會列出以 "c" 開頭的各類方法.
有關快捷鍵的完整列表, 請參閱 Shell 鍵盤快捷鍵.
要退出 shell, 輸入 quit()
或者使用Ctrl + C快捷方式.
參見:
下一章: https://segmentfault.com/a/11...
原文地址: https://docs.mongodb.com/manu...