2016-10-20 2 views
-1

Я новичок в MongoDB и я начал делать тест приложение, которое выглядит следующим образомНевозможно подключиться и запросить базу данных с помощью MLAB mongojs

server.js

var express = require('express'); 
var path = require('path'); 
var bodyParser = require('body-parser'); 

var index = require('./routes/index'); 
var tasks = require('./routes/tasks'); 
var port = 8081; 
var app = express(); 

// View Engine 

app.set('views',path.join(__dirname,'views')); 
app.set('view engine','ejs'); 
app.engine('html',require('ejs').renderFile); 

// Set Static Folder 

app.use(express.static(path.join(__dirname,'client'))); 

// Body parser 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended : false})); 
app.use('/',index); 
app.use('/api',tasks); 
app.listen(port,function(){ 

console.log('Server started at port : ' + port); 
}); 

и мои задачи подать

tasks.js

var express = require('express'); 
var router = express.Router(); 

var mongojs = require('mongojs'); 
var db = mongojs('mongodb://user:[email protected]:63186/mytaskslist_ahsan',['tasks']); 

router.get('/tasks',function(req,res,next){ 
db.tasks.find(function(tasks,err){ 
if(!err) res.json(tasks); 
}); 
}); 

module.exports = router; 

, но когда я пытаюсь/api/tasks, используя Postman, никакой ответ не возвращается, он продолжает загружаться некоторое время, а затем говорит: «Не удалось получить никакого ответа». Я также попытался console.log моей db переменного и показать пустой объект, который означает, что его не подключается к БДУ

Примечание Я пытался подключиться к моему локальной БД, например, и это работает и моя живая струна соединения работает в RoboMongo, но все еще не подключается с использованием вышеуказанного кода.

ответ

1

Couldn't get any response говорит, что вы не отвечаете на запрос. Если есть ошибка, вы не отправляете и не регистрируете ее. Дайте ошибку обратно next и зарегистрируйте ее с помощью регистратора ошибок.

db.tasks.find(function(tasks, err){ 
    if(err) { 
    return next(err) 
    } 
    res.json(tasks); 
}); 

А до app.listen

app.use((err, req, res, next) => { 
    console.log(err.stack || err.message); 
    if (res.headersSent) 
    return next(err) 
    res.status(500).send('Internal Server Error') 
}) 

Если вам нужна дополнительная помощь пост сообщение об ошибке

+0

, что он печатает после реализации выше 'внутреннего сервера Error', но я не вижу никакой ошибки в мой код –

+0

Cou возвращает это как сообщение об ошибке http-запроса. Настоящее сообщение об ошибке находится в консоли. То, что вы не раскрываете конфиденциальную информацию – Julian

+0

Я думаю, что это не чувствительно :-), его простой 'undefined' –

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