node.js - 使用 mongodb 在 nodejs 中进行用户注册 api

标签 node.js mongodb api node-modules

我正在创建一个api注册 mongodb作为后端。此代码会引发错误,例如意外 token ( if statement )

请检查逻辑,我还需要bcrypt我的密码在保存到数据库之前,我以前从未这样做过。

请帮我解决这个问题

var express = require('express');
var router = express.Router();
var app = express();
var bodyParser = require("body-parser");
var validator = require('validator');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

var MongoClient = require('mongodb').MongoClient;

var url="mongodb://localhost:27017";
var dbo;

MongoClient.connect(url, function (err, db) {

  if (err) throw err;

    dbo=db.db("hospital_api");

});

router.post('/login', function(req,res) {

  var name = req.body.name;
  var hospital_id = req.body.hospital_id;
  var gender = req.body.gender;
  var designation = req.body.designation;
  var username = req.body.username;
  var pwd = req.body.pwd;
  var confirm_pwd = req.body.confirm_pwd;


  var name = if((validator.isAlpha(name)) && (name.length>=3) )
  {
    return this.name;

    var hospital_id = if((hospital_id==12345) || (hospital_id==67890))
    {
      return this.hospital_id;

      var gender = if((gender == "male") || (gender== "female"))
      {
        return this.gender = gender;

        var designation = if(validator.isAlpha(designation))
        {
          return designation=this.designation;

          var username = if(validator.isEmail(username))
          {
            return this.username = username;

            var pwd = if(pwd.length>=3)
            {
              this.pwd = pwd;

                dbo.collection("doctor").insertOne(req.body, function(err,res){
                  if(err) throw err;
                  res.send(req.body);
                });
            } else {

              res.send("password length is invalid")
            }
          } else {

            res.send("username should be in email format")
          }
        } else {
          res.send("designation length is not valid")
        }
      } else {
        res.send("enter only male or female")
      }
    } else {
      res.send("hospital id is not valid")
    }
  } else {
    res.send("please enter a valid name")
  }

});

module.exports = router;

最佳答案

不能将 if 语句分配给变量

相反,你可以这样做:

let val = null;
if((validator.isAlpha(name)) && (name.length>=3) ) {
    // Use proper assignment statement to assign a value to variable rather than val = name<br>.
    val = name;
}

关于node.js - 使用 mongodb 在 nodejs 中进行用户注册 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347876/

相关文章:

mysql - 在 mysql 中更新触发器后触发并将该数据插入 mongodb

python - 如何使用 python 将参数传递给 bit.ly api?

node.js - 通过 nvm 升级了 Node 和 npm,但旧 Node 仍然用于全局包

javascript - 在我的服务器上运行 Sails.js 应用程序几分钟后无法访问 MongoDB

javascript - Mongodb 从 ObjectId 获取 3 字节计数器

javascript - 如何对所有分页项目应用过滤器并仅显示过滤后的项目?

ruby - Ruby 中的高负载 RESTful API(同步/异步实现)

node.js - Mongoose 根据经纬度信息和文本索引对文档进行排序

javascript - 替换为uuid(或随机数)

node.js - 使用 passport.js 将本地策略连接到另一个(Facebook、Twitter、Google 等)