- MongoDB進階與實戰:微服務整合、性能優化、架構管理
- 唐卓章
- 558字
- 2021-05-19 17:44:37
2.2 使用mongo shell
mongo shell是一個連接MongoDB的交互式客戶端,可以通過它來執行數據的查詢、管理等一系列操作。
1.連接數據庫
執行下面的命令:

其中,--port選項用于指定數據庫的監聽端口。當然,默認連接的是本地數據庫,如果需要連接遠程數據庫,則可以指定--host選項,代碼如下:

進入mongo shell之后,客戶端會建立一個到服務器的連接。
接下來,使用show databases命令查看數據庫列表,具體如下:

這里發生了一點錯誤,原因是當前的shell連接還沒有進行用戶鑒權。此時可以使用admin用戶進行鑒權,代碼如下:

可以看到,在用戶鑒權成功之后,show databases輸出了所有的數據庫列表,以及每個庫的大小。如果讀者覺得用戶鑒權的動作太過煩瑣,則可以在連接時就把鑒權信息加上,代碼如下:

2.JavaScript支持
mongo shell是基于JavaScript語法的,在shell中執行JavaScript代碼,如下:

MongoDB使用了SpiderMonkey作為其內部的JavaScript解釋器引擎,這是由Mozilla官方提供的JavaScript內核解釋器,該解釋器也被同樣用于大名鼎鼎的Firefox瀏覽器產品之中。SpiderMonkey對ECMA Script標準兼容性非常好,可以支持ECMA Script 6。
可以通過下面的命令檢查JavaScript解釋器的版本:

注意:在MongoDB 3.2版本之前,采用了V8作為JavaScript解釋器引擎,新版本中已經將其廢棄。
借由高級的SpiderMonkey引擎,我們可以在mongo shell中使用ES 6風格的代碼,如下:

3.執行腳本
除了交互的方式,mongo shell也支持以非交互的方式執行腳本。
使用--eval可以指定一段JavaScript代碼:

或者,直接指定一個JavaScript文件:

4.常用命令
mongo shell常用命令見表2-4。
表2-4 mongo shell常用命令

續表
