我正在使用以下节点js将值存储在数据库中......
//connect to database
db.on('error', console.error);
db.once('open', function() {
router.post('/register', function(request, response) {
//create schema
var Schema = new mongoose.Schema({
email : String,
password : String,
display : String
});
var User = mongoose.model('User', Schema);
//add POST values to schema
new User({
email: request.body.rEmail,
password: request.body.rPwd,
display: request.body.rDName
//store in database
}).save(function(err, doc) {
if (err)
throw err;
else
console.log('save user successfully...');
});
});
});
在这个文件中,我想包含另一个POST方法,以便我可以检查数据库中是否存在输入值。
我有另一种形式在玉石中看起来像这样......
form(class="inputs", action="/login", method="post")
input(type="text", name="email",class="form-control", id="emailLogin", placeholder="Queen's Email")
input(type="submit",name = "homePage" class ="loginButton" value="Log In" id="loginButton")
提交name=email
后,我想检查email
下的数据库中是否存在该值,该值在架构request.body.rEmail
中高于User
。
我知道我必须添加另一个看起来像这样的函数......
router.post('/login', function(request, response) {
\\no idea
但我不知道要在里面添加什么。在php中这相对容易,但研究节点经常导致我不清楚解决方案。
答案 0 :(得分:0)
email: {type: String, required: '{PATH} is required.', unique: true}
如果你这样设置你的模型,你可以说它在这里是独一无二的。如果您尝试插入副本,Mongoose将返回错误。