我試圖連接它與mlab數據庫,但它不工作,經歷了很多stackoverflow的答案,並嘗試了一切,但錯誤仍然存在,請幫助。無法連接我的nodejs應用程序與mLab數據庫
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);
});
我在嘗試在瀏覽器上插入數據後,出現這些錯誤,甚至沒有顯示數據庫中的數據。 錯誤:
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
嘗試根據這些指令修改代碼:http://www.guru99.com/node-js-mongodb.html –
我相信你的問題[奠定了這裏,在查找()](HTTPS: //docs.mongodb.com/manual/reference/method/db.collection.find/)檢查如何重寫該部分。另外,對於insert()也是如此。 –
@VedranMaricevic謝謝,我試過了,仍然存在錯誤。 –