/routes/schema.js
파일에있는 다음과 같은 스키마를 사용하고
를 사용하여 ... 내 /routes/register.js
파일에서다중 연결 오류 노드 JS와 MongoDB를
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
username: String,
password: String,
name: String,
last: String,
year: Number,
degree: String
});
var User = mongoose.model('User', userSchema);
module.exports = {
User: User
}
내가 POST 데이터를 사용하여 일부 정보를 저장하고 ...
var User = require('../routes/schema').User;
exports.postRegister = function (req, res) {
var u = new User({
username: req.body.reg_username,
password: req.body.reg_password,
name: req.body.reg_name,
last: req.body.reg_lastname,
year: req.body.reg_year,
degree: req.body.reg_degree
});
u.save(function (err) {
if (err) {
throw err;
}
else {
console.log("saved");
res.render('index', { title: 'Express' });
}
});
}
모든 것이 내 데이터베이스에 저장됩니다. 그러나 이제이 register.js
파일은 사용자를 다시 /routes/index.js
으로 리디렉션합니다. 여기서 사용자는 데이터베이스에 저장된 일부 자격 증명을 사용하여 로그인해야합니다.
그래서 내 index.js
파일에 내가 사용자 이름과 암호 내 데이터베이스에 수집에 함께 존재하는지 확인해야합니다, 나는이 ...
var User = require('../routes/schema').User;
exports.signin = function (req, res) {
User.findOne({
username: req.body.log_username,
password: req.body.log_password
}, function (err, docs) {
if (docs.length) {
console.log("name exists");
}
else {
console.log("no exist");
}
});
};
내가 같은 스키마에 함께
findOne
기능을 사용하여 다음 시도 데이터베이스의 콜렉션에 사용자 이름과 암호가 있는지 확인하십시오. 그러나 제대로 작동하지 않습니다. 여러 연결 오류가 발생하는 것처럼 보입니다. 나는 그것을 피하는 방법을 모르겠습니다.
데이터베이스에 이미 일부 자격 증명을 사용하여 로그인하려고하면 콘솔에 no exist
이 출력되어 exports.signin
에있는 else 문에 도달했음을 의미합니다.
오류 메시지를 게시 할 수 있습니까? – Kairat
@Kairat'docs는 null이 아니기 때문에'docs.length'라는 오류 메시지가 나타납니다. – Bolboa
문서가 실제로 데이터베이스에 있는지 확인 했습니까? – Kairat