如何在远程服务器上运行Mongo DB脚本?

3
如何在远程服务器上运行Mongo数据库脚本?
我知道下面的命令可以用于在本地运行,如下所述:如何通过shell脚本执行mongo命令?
mongo < yourFile.js

我希望能在远程服务器上运行这个脚本。

mongodb:uri:mongodb://user:password@mongodb01d.mydomain.com:27017/mydb


2
你尝试过使用shell连接吗?这与Spring有什么关系? - Neil Lunn
SSH 到那里去,然后完成你的工作。 - Antoniossss
这个脚本没有直接使用Spring。我之后会用Spring来获取内容。还没有尝试过用Shell。 - shabinjo
3个回答

9

在本地机器上使用Mongo:

 mongo -u <user> -p <password> mongodb01d.mydomain.com:27017/mydb <yourFile.js>

1
可以了,谢谢! mongo -u user -p password mongodb01d.mydomain.com:27017/mydb < yourFile.js -已更改以更好地从“yourFile.js”所在的路径读取文件。 - shabinjo
远程服务器怎么样? - Youssef Boudaya

2

虽然有点跑题,但如果你想/不得不使用Powershell,可以运行以下命令:

(Get-Content yourFile.js) | & mongo.exe 'mongodb://user:password@mongodb01d.mydomain.com:27017/mydb'

或者

"print('Hello');print('Hello')" | & mongo.exe 'mongodb://user:password@mongodb01d.mydomain.com:27017/mydb'

或者

& 'mongo.exe' 'mongodb://user:password@mongodb01d.mydomain.com:27017/mydb' --eval "print('Hello');print('Hello')"

我在使用$regex时遇到了一些困难,因为Powershell将其解释为变量,所以我不得不使用`$regex(多加一个反引号)。


0

针对独立的Mongo设置(单节点)

mongo -u <user> -p <password> mongodb://HOST_IP:27017/DB_NAME --eval 'MONGO_QUERY'

示例:

mongo mongodb://127.0.0.1:27017/test --eval 'db.collection.count()'

针对Mongo集群设置(具有多个节点的副本集)

mongo -u <user> -p <password> mongodb://NODE_1_IP:27017,NODE_2_IP:27017,NODE_3_IP:27017/DB_NAME?replicaSet=RS_ID --eval 'MONGO_QUERY'

示例:

mongo mongodb://127.0.0.1:27017,127.0.0.2:27017,127.0.0.3:27017/test?replicaSet=rs0 --eval 'db.collection.count()'

注:上述示例中的用户名/密码已被忽略,但如果需要进行身份验证,则需要添加它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接