해결할 수없는 문제가있어서 찾아 왔습니다. 나는 nodejs, express 및 mongodb를 특히 몽구스로 사용합니다.몽구스에 문제가 있습니다 - NodeJS
익스프레스 서버가 작동하지만 데이터베이스에 문서를 삽입 할 수 없어 그 이유를 모르겠습니다. "console.log()"로 mongoose.model.save가 호출되지 않았거나이 함수에 문제가 있다는 것을 알았습니다.
내 app.js
var express = require('express');
var bodyParser = require('body-parser');
var connect = require('connect');
var app = express();
var port = process.env.PORT || 8080;
// Configuration
app.use(connect.logger('dev'));
app.use(connect.json());
app.use(connect.urlencoded());
app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
app.listen(port);
require('./routes/routes.js')(app);
console.log('The App runs on port ' + port);
내 route.js
var writeData = require('/config/writeData');
var baseurl = '/niceproject'
module.exports = function(app) {
app.get(baseurl + '/', function(req, res) {
res.end("Node-Android-Project");
});
app.post(baseurl + '/writeTemp', function(req, res) {
var heure = req.body.heure;
var temperature = req.body.temperature;
console.log('req.body' + req.body);
writeData.writeTemperature(heure,temperature,function(found){
console.log(found);
res.json(found);
});
});
}
내 writeData.js
var mongoose = require('mongoose');
var model = require('/config/models.js');
var temperatureCollection = model.temperature;
var personneCollection = model.personne ;
var sonCollection = model.sound;
exports.writeTemperature = function(heure,temperature,callback) {
var newTemperature = new temperatureCollection({
id : 1,
heure: new Date(),
temperature : temperature
});
console.log('fuckinnnnnnnnnnnnnnnnnn' + newTemperature);
newTemperature.save(function(err){
console.log('test');
if(err){
console.log('erreur' + err);
callback(err);
}
console.log(newTemperature);
callback({'response':"temperature ajouté"});
});
}
내 model.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var temperatureSchema = mongoose.Schema({
id : Number,
temperature : Number,
heure : Date
});
var personneSchema = mongoose.Schema({
id : Number,
nbPersonne : Number,
heure : Date
});
var sonSchema = mongoose.Schema({
id : Number,
niveauDb : Number,
heure : Date
});
mongoose.connect('mongodb://localhost/nightAdvisorDatabase');
var temperatureModel = mongoose.model('temperature', temperatureSchema);
var personneModel = mongoose.model('personne', personneSchema);
var soundModel = mongoose.model('niveauDb',sonSchema);
module.exports = {
temperature : temperatureModel,
personne : personneModel,
sound : soundModel
};
/niceproject/writeTemp 경로를 사용하여 게시물 요청을하면 현재 날짜와 온도로 writeData에서 newTemperature 객체를 볼 수 있지만 newTemperature.save에 문제가있는 경우 nothings가 발생합니다
당신이 저와 유감을 도울 수있는 것보다 나에게 희망을 읽기위한덕분에 나의 대략적인 영어
오류를 받으셨습니까? – Yahya
Mongoose 연결에 대한 오류 검사를 추가하여 실제로 연결되어 있는지 여부를 확인해야합니다. [here] (http://theholmesoffice.com/mongoose-connection-best-practice/)를 참조하십시오. 당신이 필요로하는 것은'mongoose.connection.on (...')이있는 줄입니다. 앱이 시작할 때 실제로 연결되어 있는지 확인하십시오. – MikaS
mongoose.connection.on ('connected') ('error)와 (' 연결이 끊긴 ')하지만 nothings appens도.하지만 내가 sudo 서비스 mongod 상태를 시도 할 때 : 활성 : 활성 (실행 중) mongoShell을 실행하고 dbs를 표시하려고하면 내가 만들어야 할 하나가 없어 – Jamesp