javascript - 检查mongo数据库中是否存在发布输入

原文 标签 javascript node.js mongodb mongoose

我正在使用以下节点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中这是相对容易的,但是研究节点常常使我产生不清楚的解决方案。

最佳答案

email: {type: String, required: '{PATH} is required.', unique: true}

如果以这种方式设置模型,则可以在此处声明其唯一性。如果尝试插入重复的猫鼬,则会返回错误。

http://mongoosejs.com/docs/2.7.x/docs/schematypes.html

关于javascript - 检查mongo数据库中是否存在发布输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779121/

相关文章:

javascript - IIFE提升错误

node.js - 'npm'不被识别为内部或外部命令,可操作程序或批处理文件,但位于我的环境路径中

node.js - Node JS中套接字连接的限制

mongodb - 将长值导入mongodb

python - 使用pymongo时将字典键用作_id

php - FOSRestBundle 和 JMS Serializer,获取 JSON 时出错

javascript - 如何将Backbone用于简单的动画?

javascript - 在asp .net中完成下载后如何打开下载的excel文件

javascript - 如何阅读浏览器的媒体功能?

javascript - 如何禁用node.js的https.get调用中的证书缓存?