したがって、Node.JSとMongoDBを使用してCalendarアプリケーションを作成しています。しかし、データベースから現在のカレンダーに情報を追加するのに問題があります。ここでデータベースにアクセスして日付を挿入するにはどうすればよいですか? Node.JS&MongoDB
LocalHost:3000/init
TypeError: Cannot read property 'insert' of undefined at /home/patrick/Desktop/Javascript/CalandarApp/server.js:30:13 at Layer.handle [as handle_request] (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/layer.js:95:5) at next (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/route.js:131:13) at Route.dispatch (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/layer.js:95:5) at /home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/index.js:277:22 at Function.process_params (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/index.js:330:12) at next (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/index.js:271:10) at jsonParser (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/body-parser/lib/types/json.js:100:40) at Layer.handle [as handle_request] (/home/patrick/Desktop/Javascript/CalandarApp/node_modules/express/lib/router/layer.js:95:5)
をロードしようとしたとき、私は受け付けており、エラーがここにJavascriptのですされています
var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
//Connect to MongoDB
var mongoskin = require('mongoskin');
var db = require('mongodb');
mongoskin.db("mongodb://localhost:3000/testDB", {w: 0});
//Creates Express Application
var app = express();
app.use(express.static('public'));
//is necessary for parsing POST request
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
console.log('Express server started on port 3000');
app.get('/init', function(req, res){
db.event.insert({
text:"Test Event A",
start_date: new Date(2016,5,1),
end_date: new Date(2016,5,5)
});
db.event.insert({
text:"Test Event B",
start_date: new Date(2016,5,3),
end_date: new Date(2016,5,8),
color: "#DD8616"
});
res.send("Test Events were added to the Database")
});
app.get('/data', function(req, res){
db.event.find().toArray(function(err, data){
//set id property for all records
for (var i = 0; i < data.length; i++)
data[i].id = data[i]._id;
//output response
res.send(data);
});
});
app.listen(3000);
私はあなたを考えていませんコレクションを適切に設定してください。 'db.collection( 'event')。insert()'のようなものであってはいけません。また '.post'ルートに' .get'を使っているようです。情報をデータベースに挿入する場合は、 '.get'ではなく' .post'を使用したいと考えています。 –