Ich versuchte es mit MLab-Datenbank verbinden, aber es funktioniert nicht, ging durch viele Stackoverflow-Antworten und versuchte alles, aber die Fehler sind immer noch da, bitte helfen.Ich kann meine nodejs-Anwendung nicht mit mLab-Datenbank verbinden
var express = require('express');
var mongojs = require('mongojs');
var mongodb = require('mongodb');
// var db = mongojs('contactlist',['contactlist']);
var uri = 'mongodb://user:[email protected]####.mlab.com:13702/contactlist'
mongodb.MongoClient.connect(uri, { server: { auto_reconnect: true } }, function (err, contactlist) {
});
var db = mongodb.connect(uri);
var app = express();
var bodyParser = require('body-parser');
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.json());
app.get('/contactlist', function(req, res){
console.log("I received a GET request");
db.contactlist.find(function(err, docs){
console.log(docs);
res.json(docs);
});
});
app.post('/contactlist', function(req, res) {
console.log(req.body);
db.contactlist.insert(req.body,function(err,doc) {
res.json(doc);
});
});
app.listen(process.env.PORT ||3000, function(){
console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env);
});
Ich erhalte diese Fehler, nachdem ich die Daten der Browser versuchen, Einfügen, es ist nicht einmal die Daten aus der Datenbank angezeigt werden. Fehler:
TypeError: Cannot read property 'find' of undefined
at D:\contactlistapp\server.js:17:16
at Layer.handle [as handle_request] (D:\contactlistapp\node_modules\express\lib\router\layer.js:95:5)
at next (D:\contactlistapp\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (D:\contactlistapp\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (D:\contactlistapp\node_modules\express\lib\router\layer.js:95:5)
at D:\contactlistapp\node_modules\express\lib\router\index.js:281:22
at Function.process_params (D:\contactlistapp\node_modules\express\lib\router\index.js:335:12)
at next (D:\contactlistapp\node_modules\express\lib\router\index.js:275:10)
at jsonParser (D:\contactlistapp\node_modules\body-parser\lib\types\json.js:103:7)
at Layer.handle [as handle_request] (D:\contactlistapp\node_modules\express\lib\router\layer.js:95:5)
{ name: 'kkm', email: 'kmk' }
TypeError: Cannot read property 'insert' of undefined
at D:\contactlistapp\server.js:27:16
at Layer.handle [as handle_request] (D:\contactlistapp\node_modules\express\lib\router\layer.js:95:5)
at next
Versuchen Sie den Code nach dieser Anleitung zu ändern: http://www.guru99.com/node-js-mongodb.html –
Ich glaube, Ihr Problem [in find() legt hier] (https: //docs.mongodb.com/manual/reference/method/db.collection.find/) überprüfe, wie dieser Teil umgeschrieben wird. Gleiches gilt für insert(). –
@VedranMaricevic Danke, ich habe versucht, immer noch die Fehler bestehen. –