저는 Nodejs 세계에 초보자입니다. 몽구스를 사용하여 MongoDB에 데이터를 삽입하려고합니다. 아이디어는
입니다. 노드 에서 실행중인 서버를 갖게됩니다. 들어오는 POST 데이터는 Mongo에 저장됩니다.Mongoose를 사용하여 MongoDB에 데이터 저장 안 함
아래 코드를 실행해도 데이터가 MongoDB에 저장되지 않고 오류가 표시되지 않는 문제가 있습니다. 내가 여기서 뭔가를 놓치고 있니? 어떤 도움이라도 대단히 감사하겠습니다.
들어오는 http 요청에 대해 mongoDB에 데이터를 쓰는 아래 코드가 있습니다.
var http = require('http') // http module
, fs = require('fs') // file system module
, qs = require('querystring') // querystring parser
, mongoose = require('mongoose');
mongoose.connect("mongodb://localhost/app_data_db");
var db = mongoose.connection;
var appDataSchema = new mongoose.Schema({
record_id: Number,
app_version: Number,
imei: String,
created_time: Date,
device_uid: String,
model: String
});
var appDataModel = mongoose.model("app_data_collection",appDataSchema);
var PORT=8080;
http.createServer(function(req,res){
if(req.method == "POST") {
var POST = {};
//parse query string
req.on('data', function(data) {
data = data.toString();
data = data.split('&');
for (var i = 0; i < data.length; i++) {
var _data = data[i].split("=");
POST[_data[0]] = _data[1];
}
db.once('open', function (callback) {
appDataModel.create({
record_id: POST["id"],
app_version: POST["app_version"],
imei: POST["imei"],
created_time: new Date((parseInt(POST["created_time"]) + 19800) *1000), // to set correct time zone IST
device_uid: POST["device_uid"],
model: POST["model"]
});
});
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('saved to DB:'+POST["id"]+'\n');
console.log('saved to DB:'+POST["id"]+'\n');
});
mongoose.disconnect();
}
}).listen(PORT);
나는 수동으로 컬 전화를 발사하고이를 테스트하려면 :
curl -X POST --data "id=58648148&app_version=4.8&imei=355886053224492&created_time=1417372202&device_uid=e385c8a5a4c01304&model=GT-I9082" http://localhost:8080
모델을 만들고 있지만 DB에 저장하지 않았습니다. –