Как запустить скрипт mongo db на удаленном сервере?
Как запустить скрипт моно БД на удаленном сервере?
Я знаю, что ниже команда может быть использована для того же на локальном, как упомянуто здесь: Как выполнять команды Монго через сценарии оболочки?
mongo < yourFile.js
Я хочу запустить этот скрипт на удаленном сервере
MongoDB: URI: MongoDB: // пользователь:password@mongodb01d.mydomain.com:27017/ MYDB
3 ответа
С Монго на локальной машине:
mongo -u user -p password mongodb01d.mydomain.com:27017/mydb yourFile.js
Это может быть немного не по теме, но если вы хотите / должны использовать 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
(с дополнительной обратной кавычкой).
Для автономной установки 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()'
PS: Пользователь/пароль в приведенных выше примерах были проигнорированы, но вам необходимо добавить их, если mongo необходимо пройти аутентификацию.