繁体   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