我有這個非常簡單的代碼,存儲超級英雄的名稱和權力,數據庫。Mongoose不保存任何東西到db與NodeJs
所有連接正常工作。當我運行mongod時,我使用了--dbpath C:/ nodeprojects/sankarit/data。我試過用不同的路徑改變路徑50次。
所以我的代碼從客戶端發送nimi和supervoima(名字,超級大國),它試圖將它們添加到數據庫,但實際上沒有發生在數據庫中。當我寫保存函數console.log(「耶」它工作),它說它的工作。如果我控制檯登錄超級英雄它似乎正常工作。
下面是客戶端:
$http.post("api/juttu", {nimi: "besthero", supervoima: "whiskey"}).success(function(response){
console.log(response.data);
}).error(function(){
console.log("Error")
})
這裏是我的server.js:
var express = require('express');
var path = require('path');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
mongoose.set('debug', true);
// SANKARI SCHEMA
var Sankari = require('./app/models/sankarit');
// CONTROLLERIT
var testCtrl = require('./server/testCtrl');
app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json());
app.use('/public', express.static(__dirname + '/public'));
// DB conn
// I have tried with /test, /heros, /sankariKanta, /sankarit
mongoose.connect('mongodb://127.0.0.1:27017/test');
mongoose.connection.once('connected', function() {
console.log("Connected to database")
});
//PORTTI
var port = process.env.PORT || 8080;
// ROUTER
var router = express.Router();
app.get('/', function(req, res) {
res.sendFile('index.html', {root: __dirname});
});
app.post("/api/juttu", testCtrl.juttu);
app.listen(port);
這裏是testCtrl:
var Sankari = require("../app/models/sankarit");
module.exports.juttu = function (req, res){
// Tried also var uusiSankari = new Sankari(req.body);
var uusiSankari = new Sankari();
uusiSankari.nimi = req.body.nimi;
uusiSankari.supervoima = req.body.supervoima;
uusiSankari.save(function(err){
if(err){
console.log(err);
} else{
// This is always showing up
console.log("This is working!");
}
});
};
而且當我嘗試的console.log( req.body);它工作正常。
這裏是模式(sankarit.js):
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var SankariSchema = ({
nimi: String,
supervoima: String
});
module.exports = mongoose.model('Sankari', SankariSchema);
當我運行該程序,貓鼬調試的事情說:
Mongoose: sankaris.insert({ __v: 0, _id: ObjectId("57ff0a649dbf169c15000001"), nimi: 'besthero', s
upervoima: 'whiskey' }) {}
所以當我調試和控制檯登錄所有的程序沒有它似乎像夢一樣工作。我已經制作了這些MEAN堆棧教程,例如5-10和每次數據庫正常工作。這是我第一次嘗試自己製作完整的代碼。我試圖解決整個晚上,但我沒有得到任何地方。
你是什麼意思「什麼也沒有發生在DB」? – Paul