如何使用DB连接运行Mongo JS Shell脚本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用DB连接运行Mongo JS Shell脚本?相关的知识,希望对你有一定的参考价值。
我正试图写一个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),我删除了脚本文件中的连接,并能够进行连接。我想是有两个都搞乱了。我仍然希望能够在脚本中建立连接,但不是在运行脚本时,我想这样做,以便其他人可以运行脚本,而无需输入长长的连接地址。
如果有人知道有什么方法可以做到这一点,我会很感激。谢谢。
如果你想让它更容易,你需要在vs代码中创建一个file.js,并把一个凭证放在一个文件中,当你需要它时,你可以只调用它,就是这样,并使用roboMongo使你的生活更容易与MongoDB。
以上是关于如何使用DB连接运行Mongo JS Shell脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Intellij / DataGrip Mongo DB Shell 中设置显示 20 多个结果
解决couldn't connect to server 172.21.4.208:27 017 at src/mongo/shell/mongo.js:147