Ошибка: не удалось подключиться к [127.0.0.1:27017] в ноль
Я учу себя, как использовать MongoDB и Node.Js, в частности, я пытаюсь настроить Deployd (фреймворк API-сборки с открытым исходным кодом), который построен поверх mongo & node, и разместить его на Heroku. Я следую этому уроку:
http://www.icapps.com/open-source-alternative-for-parse/
Моя проблема возникает при попытке подключиться к http://localhost:3000/
выдает ошибку:
GET /dashboard/ Error: failed to connect to [127.0.0.1:27017]
at null.<anonymous> (/Users/kimi/Documents/Web/deployd/deployd-demo/node_modules/deployd/node_modules/mongodb/lib/mongodb/connection/server.js:383:73)
at EventEmitter.emit (events.js:95:17)
at null.<anonymous> (/Users/kimi/Documents/Web/deployd/deployd-demo/node_modules/deployd/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:93:15)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (/Users/kimi/Documents/Web/deployd/deployd-demo/node_modules/deployd/node_modules/mongodb/lib/mongodb/connection/connection.js:385:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickDomainCallback (node.js:459:13)
Я знаю, что это как-то связано с неправильным подключением Монго к серверу. Но я не знаю, как это исправить. У кого-нибудь есть предложения для этого новичка?
Спасибо вам большое!
/////////// ОТВЕТ! (stackru не позволяет мне публиковать ответ в течение еще 8 часов), но в основном кажется, что каталог mongo был создан не в том месте. но работает:
sudo mkdir -p /data/db
и изменив разрешения на:
sudo chmod 0755 /data/db
sudo chown mongod:mongod /data/db
кажется, работает. ура! я использовал этот ответ stackru в качестве ссылки:
mongodb Mongod жалуется, что нет папки / data / db
большое спасибо @Niall за вашу помощь!!!
2 ответа
1..это может быть ошибка соединения, вы запустили службу mongod?
$ mongod --host localhost --dbpath /var/lib/mongodb --logpath data/log/mongodb/mongodb.log
2..Если вы используете Express@3, для connect-mongo по умолчанию может быть установлено соединение с [127.0.0.1:27017]
Connect-mongo.js
$ vi .\node_modules\connect-mongo\lib\connect-mongo.js
...
var defaultOptions = {
// Legacy strategy default options
host: '127.0.0.1',
port: 27017,
...
в вашем app.js
var settings = require('./settings');
...
var MongoStore = require('connect-mongo')(express);
var sessionStore = new MongoStore({
host: settings.host, //define this, otherwise it throws "Error: failed to connect to [1276.0.0.1:27017]"
port: settings.port,
db: settings.db
}, function () {
console.log('connect mongodb success...');
});
в вашем settings.js можно установить так:
module.exports = {
cookie_secret : 'secret_meteoric',
db : 'test',
host : '192.168.0.190', //your mongod host
port : 27017
};
тогда вы можете подключить ваш стандартный mongod при запуске приложения. Надеюсь, поможет.
Я также потратил много времени на эту проблему. А потом обнаружил глупую проблему. Я устанавливал Pencilblue. в котором вы должны зайти в корневую папку карандаша.
- найти "sample.config.json"
- Отредактируйте его "config.json".``
- а затем в gitbash -> наберите "pbctrl start"
это сработало для меня. Для установки Mongodb для Windows вы можете обратиться http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/ может быть, это поможет кому-то..