如何使用DB连接运行Mongo JS Shell脚本?

问题描述 投票:0回答:1

我正试图写一个mongo shell脚本,它将删除现有DB中的一些条目,然后重新加载它们(取决于某些条件),我遇到了很多麻烦。

有一件事我不明白是这样的:为了运行我正在制作的脚本文件(我们称它为script.js),我正在读取(从 蒙哥文档 和其他地方),我需要使用这样的命令。

mongo mongodb://{{mycreds}}@{{address of existing mongo}}:27017/{{DB I want}}?authSource=admin script.js

然而,由于我在脚本中连接到同一个DB,我也看到我需要在script.js中进行连接。

db = connect(
  "mongodb://{{mycreds}}@{{address where the existing mongo is}}:27017/{{DB I want}}?authSource=admin"
);

为什么我必须在运行脚本时指定DB连接?在脚本中就有了?

无论是哪种方式,我都无法在脚本中进行连接。我不知道是我运行的脚本不正确,还是在脚本中与DB的连接不正确。或者只是其他原因。

在文档中,它说我也可以在mongo shell中运行脚本。但我是不是必须有一个运行在27017的mongo实例才能启动脚本?我是否需要在我的机器上运行一个mongo(因为我已经有一个需要连接的mongo)?

我真的很希望能在这方面得到一些澄清。我想弄清楚的是如何运行一个连接到现有DB的mongo脚本,而我在这些文档中变得非常纠结。

编辑:在收到一个评论后(感谢Joe),他说:"我想知道如何运行mongo脚本连接到现有的DB,我在所有这些文档中真的很纠结。

在收到评论后(感谢Joe),我删除了脚本文件中的连接,并能够进行连接。我想是有两个都搞乱了。我仍然希望能够在脚本中建立连接,但不是在运行脚本时,我想这样做,以便其他人可以运行脚本,而无需输入长长的连接地址。

如果有人知道有什么方法可以做到这一点,我会很感激。谢谢。

javascript database mongodb shell
1个回答
1
投票

如果你想让它更容易,你需要在vs代码中创建一个file.js,并把一个凭证放在一个文件中,当你需要它时,你可以只调用它,就是这样,并使用roboMongo使你的生活更容易与MongoDB。

© www.soinside.com 2019 - 2024. All rights reserved.