Сбой подключения Mongoskin (ошибка: соединение закрыто)

Я совершенно новичок во всех технологиях, с которыми пытаюсь это сделать, но у меня есть что-то вроде простого кода (почерпнутого из учебника), который я просто не могу заставить работать. Я использую Node, Express и Mongoskin/MongoDB. Всякий раз, когда я пытаюсь выполнить какую-либо операцию с БД, я получаю очень общую ошибку «соединение закрыто». У меня есть MongoDB 2.4.6, Mongoskin 0.6.0 и Mongo Native 1.3.19. MongoDB работает, и я могу подключиться с терминала и работать с моей базой данных. Я вижу в журнале Mongo, что мой код даже не устанавливает соединение. Я подумал, может быть, мне нужно явно вызвать open, но даже это возвращает ту же ошибку.

Я уверен, что делаю что-то глупое, но я в тупике, и помощь будет оценена по достоинству. Вот код:

var express = require("express");
var mongoskin = require("mongoskin");

var db = mongoskin.db("localhost:28017/test", { safe: true, auto_reconnect: true });

var app = express();

app.get("/", function(request, response){
    db.collection('testResult').find(function(error, result){
        if (error) {
            response.send("Find failed: " + error);
        }
        else {
            response.send("got it ");
        }
    });
});

app.listen(8888);

person Chris Anderson    schedule 24.09.2013    source источник
comment
Обновление: я попробовал это с нативным монго и получил ту же ошибку (соединение закрыто) при вызове метода connect().   -  person Chris Anderson    schedule 25.09.2013


Ответы (1)


Ага. Я делал что-то глупое. На всякий случай это полезно для любого другого новичка... http-клиент работает на порту 28017, но сама MongoDB фактически прослушивает порт 27017. Обратите внимание на «7» во второй позиции. Дух. Таким образом, правильным параметром подключения (в моем случае) будет «localhost: 27017/test».

person Chris Anderson    schedule 26.09.2013