2013-12-18 2 views
1

Я пытаюсь выполнить файл сценария Java в MongoDB в порту 5930. Монго может слушать базу данных по этому порту:Выполнение JavaScript в MongoDB

./mongo localhost:5930 
connecting to: localhost:5930/test 
Server has startup warnings: 
Wed Dec 18 13:15:58.906 [initandlisten] 
Wed Dec 18 13:15:58.906 [initandlisten] ** WARNING: /proc/sys/vm/overcommit_memory is 2 
Wed Dec 18 13:15:58.906 [initandlisten] **   Journaling works best with it set to 0 or 1 

Теперь, когда я выполнить test.js в порту 5930 но я получаю следующее сообщение об ошибке:

./mongo test.js 
connecting to: test 
Wed Dec 18 13:22:56.011 JavaScript execution failed: Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:L112 
exception: connect failed 

в test.js имеет следующую строку:

conn = new Mongo("localhost:5930); 

Как я могу запустить скрипт на порту 5930? и Почему сценарий всегда пытался выполнить из порта по умолчанию (27017)?

Благодаря

+0

Что вы подразумеваете под "Выполнение в MongoDB"? Вы выполняете скрипт в оболочке Mongo? Что работает на порту 5930, node.js? Пожалуйста, разместите несколько строк своего сценария, который воспроизводит проблему. – ixe013

+0

Mongo работает в порту 5930. Сейчас скрипт имеет только одну строку -> conn = new Mongo («localhost: 5930»), я не запускаю скрипт в Mongo Shell, а используя команду ./mongo test.js для выполнения сценария. – user3116752

+1

'mongo localhost: 5930 test.js' Вам всегда нужно место для подключения, чтобы запускать скрипт, независимо от того, что сценарий создает соединение. – WiredPrairie

ответ

0

Монго пытается подключиться себя к локальной базе данных автоматически, прежде чем он смотрит на ваш сценарий.

Подключение к локальной базе данных Монго, работающих на альтернативном порту с этим mongo command line:

mongo --nodb test.js 

И ваш код открывает соединение (которое вы уже делаете).

Смежные вопросы