簡體   English   中英

如何使用 DB 連接運行 Mongo JS Shell 腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM