天天看點

MongoDB系列之Docker裡運作JS腳本

環境:

  • MongoDB 4.0.10
  • Docker

檢視MongoDB版本指令:db.version();

背景:最近在處理MongoDB的一些資料,不過因為安全問題,是以端口沒對外開放出來,是以不用使用比如Navicat這些用戶端軟體,是以執行腳本就要到指令視窗執行,執行腳本不長還好,太長的話,複制到shell視窗一大串要很長時間

因為裝在docker裡,是以直接使用指令,先檢視MongoDB鏡像ID

docker ps      

找到MongoDB的鏡像後,進入鏡像,​

​0ac56ae108c0 ​

​為容器ID

docker exec -it 0ac56ae108c0 bash      

因為要執行一大串的腳本,黏貼到shell視窗裡,就要很長時間,是以問題來了,直接複制一大串代碼執行的方法太慢了,隻能看看能不能用指令執行檔案,将代碼弄到一個js檔案裡,然後用指令執行

先從MongoDB資料庫導出js腳本,然後在js腳本檔案裡,在其最前面加上連接配接資料庫的代碼:

conn = new Mongo("127.0.0.1:27017");
db = conn.getDB("test");      

然後儲存,使用docker指令複制js檔案到MongoDB容器裡

docker cp /opt/test.js 0ac56ae108c0:/opt/test.js      
# 到/opt目錄
cd /opt
# 執行js腳本
mongo test.js      

繼續閱讀