[英]How to run Mongo JS Shell Script with DB Connection
我正在嘗試編寫一個 mongo shell 腳本,該腳本將刪除現有數據庫中的一些條目,然后重新加載它們(取決於某些條件),我遇到了很多麻煩。
我無法理解/弄清楚的一件事是:要運行我正在制作的腳本文件(我們稱之為 script.js),我正在閱讀(來自mongo 文檔和其他地方)我需要使用命令像這樣:
mongo mongodb://{{mycreds}}@{{address of existing mongo}}:27017/{{DB I want}}?authSource=admin script.js
但是,由於我在腳本本身中連接到同一個數據庫,我還看到我需要在 script.js 中建立該連接:
db = connect(
"mongodb://{{mycreds}}@{{address where the existing mongo is}}:27017/{{DB I want}}?authSource=admin"
);
為什么我在運行腳本時必須指定數據庫連接? 劇本里有嗎?
無論哪種方式,我都無法在腳本中建立連接。 我不知道我是在錯誤地運行腳本,還是在腳本中錯誤地連接到數據庫。 或者只是別的東西。
在文檔中,它說我也可以在 mongo shell 中運行腳本。 但是我不是必須在 27017 運行 mongo 實例才能啟動腳本嗎? 我是否需要在我的機器上運行一個 mongo(因為已經存在我需要連接的一個)?
我真的很感激這方面的一些明確性。 我想要弄清楚的是如何運行一個連接到現有數據庫的 mongo 腳本,而我真的很糾結所有這些文檔。
編輯:
收到評論后(感謝 Joe),我刪除了腳本文件中的連接並能夠建立連接。 我想兩者都搞砸了。 我仍然希望能夠在腳本中建立連接,但不是在我運行腳本時。 我想這樣做,以便其他人可以在不輸入長連接地址的情況下運行腳本。
如果有人知道這樣做的方法,我將不勝感激。 謝謝。
即使是 SQL,您也始終需要您想要連接的任何數據庫的憑據。 如果您想讓您更輕松,您需要在 vs 代碼中創建一個 file.js 並在需要時將憑證放入文件中,您可以直接調用它,並使用 roboMongo 使用 MongoDB 讓您的生活更輕松.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.