私はExpressを使用してMongooseからデータを取得しようとしています。自分のサイトにログインするためのユーザー名とパスワードのフォームを作成しました。資格情報をチェックして、資格情報がデータベースに保存されている資格情報と同じであればそれを許可しますが、間違ったパスワードを入力しても何かを許可します。私のソースファイルはうまく見え、コンソールはエラーを投げていません。ファイルへの要旨は以下の通りです:ExpressでMongooseからデータを取得するにはどうすればよいですか?
とapp.jsファイル(原因私の評判にそれをGISTすることはできません):あなたのための
var bodyParser = require('body-parser');
var express = require('express');
var mongoose = require('mongoose');
var app = express();
var options = {
server: {
socketOptions: {
keepAlive: 300000, connectTimeoutMS: 30000
}
},
replset: {
socketOptions: {
keepAlive: 300000,
connectTimeoutMS : 30000
}
}
};
var db = mongoose.connect('db_uri', options);
var Schema = mongoose.Schema;
var UserSchema = new Schema({
email: String,
password: String
});
var User = mongoose.model('Users', UserSchema);
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(__dirname+'/public'));
app.set('view engine', 'ejs');
app.set('views', __dirname+'/public/templates');
app.get('/', function (req, res) {
res.render('index');
});
app.get('/registerPage', function (req, res) {
res.render('register') ;
});
app.get('/loginPage', function (req, res) {
res.render('login');
});
app.post('/register', function (req, res) {
var email = req.body.email;
var password = req.body.password;
var user = new User({
email: email,
password: password
});
user.save(function (err) {
if (err) throw err;
console.dir(user);
res.send('Account created successfully (email): ' + email);
});
});
app.post('/login', function (req, res) {
var email = req.body.email;
var password = req.body.password;
User.findOne({email: email, password: password}, function (err) {
if (err) throw err;
res.render('portal');
});
});
app.listen(3000, function() {
console.log('Express server listening on http://localhost:3000');
});
感謝助けて!
最も重要な部分を除外しました。アプリケーションコードです。あなたの質問に関連する部分を追加してください(リンクではなくインライン)。 – robertklep
これはかなり一般的ですが、参考になるかもしれない多くのガイドがあります。 [Here](https://scotch.io/tutorials/using-mongoosejs-in-node-js-and-mongodb-applications)はかなり良いものです。 – morsecodist
@robertklepソースコードを追加しました。必要があればチェックしてください! –