2016-08-07 5 views
1

以下、ウェブサイトからコピーしたサンプルコードがあります。私はmongodbに情報を保存しようとしています。私はスタックオーバーフローの周りに同様の答えを試みたが、まだそれを解決することはできません。マングース保存エラー

私はそれを実行し、IDを書くと、名前と年齢の保存方法は失敗しますが、エラーメッセージは表示されません。理由は何でしょうか?助けを前にありがとう。

var express = require('express'); 
var http = require('http'); 
var path = require('path'); 
var mongoose = require('mongoose'); 
var bodyparser = require('body-parser'); 
var methodOverride = require('method-override'); 

var app = express(); 

// all environments 
app.set('port', process.env.PORT || 4000); 
app.set('views', __dirname + '/views'); 
app.set("view engine", 'jade'); 

app.use(bodyparser.json()); 
app.use(methodOverride()); 
//app.use(app.router); 
app.use(express.static(__dirname + '../public')); 
//app.use(express.static(path.join(__dirname, 'public'))); 

//app.get('/', function (req, res) { 
// res.render('index', {}); 
//}); 


app.get("/", function(req, res) { 
res.sendFile(path.join(__dirname, "/index.html")); 
}); 

mongoose.connect('mongodb://127.0.0.1/test'); 
mongoose.Promise = global.Promise; 
var Schema = new mongoose.Schema({ 
_id : String, 
name: String, 
age : Number 
}); 

var user = mongoose.model('emp', Schema); 



app.get('/view', function(req, res){ 
user.find({}, function(err, docs){ 
    if(err) res.json(err); 
    else res.render('index', {users: docs}); 
    }); 
}); 


app.post('/new', function(req, res){ 
new user({ 
    _id : req.body.email, 
    name: req.body.name, 
    age : req.body.age 
    }).save(function(err){ 
     if(err) res.json(err); 
     else res.send('Successfully inserted!'); 
     }); 
    }); 



var server = http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

答えて

1

それはあなたがこれまであなたのスキーマを変更した場合に動作します:

var Schema = new mongoose.Schema({ 
    email: String, 
    name: String, 
    age: Number 
}); 

私もちょうど、「ユーザー」と「EMP」からモデルを変更することをお勧めします。または、すべてのvarsを "user"から "emp"に変更します。一貫性があると読みやすくなり、後で道を譲る時間を節約できます。また、上部にrequire('jade')が見つからないようです。

電子メールで問い合わせると、ユーザーを見つけることができます。 Mongoは挿入時に自動的に_idを生成します。

私はこれが役に立ちそうです!

+0

ありがとうございました!注意してください。 – emre01

+0

恐ろしい!お役に立てて嬉しいです。 – Jebrial

関連する問題