2017-10-23 1 views
0

Ich habe dies als server.js:Keine Antwort von HTTP-Anforderung in mongodb/node.js

var express = require('express'), 
    app = express(), 
    port = process.env.PORT || 3000, 
    mongoose = require('mongoose'), 
    Task = require('./api/models/toDoListModel'), 
    bodyParser = require('body-parser'); 

mongoose.Promise = global.Promise; 
mongoose.createConnection('mongodb://localhost:27017/Tododb'); 


app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 


var routes = require('./api/routes/toDoListRoutes'); 
routes(app); 

app.listen(port); 

Und wenn ich POSMAN verwenden schreiben/bekommen, bekomme ich keine Antwort vom Server (auf einem Korrekter Schlüsselwert) obwohl localhost: 27017 läuft und ich eine Tododb db mit Robo 3T erstellt habe. Aber wenn ich im Postboten keinen Schlüssel/Wert eingebe, bekomme ich eine Antwort. Fehle ich etwas? Alle Adressen sind korrekt.

+0

'.createConnection()' verbindet sich nicht wirklich. Sie müssen die Verbindung initiieren. Siehe [Verbindungen] (http://mongoosejs.com/docs/connections.html) in der Dokumentation –

Antwort

1

Sie können eine Verbindung zu MongoDB mit der Methode mongoose.connect() herstellen.

mongoose.connect('mongodb://localhost:27017/Tododb'); 

Wenn Sie nicht rufen Sie mongoose.connect() dann ist mongoose.connection keine eine offene Verbindung enthalten. Sie sollten stattdessen den Rückgabewert von Ihrem mongo.createConnection() Aufruf verwenden (den Sie in db var speichern und dieses Objekt verwenden müssen).

+0

Vielen Dank! Mongodb hat eine Verwarnungswarnung ausgegeben und ich habe den Befehl .connect entfernt. Mein Fehler. –