我正在使用以下 Node 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 方法,以便我可以检查数据库中是否存在输入值。
我有另一种形式,看起来像这样的 Jade ......
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
下的数据库中是否存在该值,即架构User
中上面的request.body.rEmail
。
我知道我必须添加另一个类似这样的函数...
router.post('/login', function(request, response) {
\\no idea
但我不知道要在里面添加什么。在 php 中,这相对容易,但研究 Node 经常导致我得到不清楚的解决方案。
最佳答案
电子邮件:{类型:字符串,必需:'{PATH} 是必需的。',唯一:true}
如果您像这样设置模型,则可以声明它在这里是唯一的。如果您尝试插入重复项,Mongoose 将返回错误。
关于javascript - 检查 mongo 数据库中是否存在 post 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779121/