Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodemon应用程序崩溃-从服务器获取响应后,在启动错误之前等待文件更改_Javascript_Node.js_Node Modules - Fatal编程技术网

Javascript nodemon应用程序崩溃-从服务器获取响应后,在启动错误之前等待文件更改

Javascript nodemon应用程序崩溃-从服务器获取响应后,在启动错误之前等待文件更改,javascript,node.js,node-modules,Javascript,Node.js,Node Modules,我正在NodeJS中开发一个服务器,其中有两条路径-登录和注册 每当我注册时,我都会得到成功的响应,数据成功存储在MongoDB数据库中,然后我的应用程序崩溃-在控制台中等待文件更改… 注意:-“问题在于注册,而不是登录” postSignup()将在用户请求注册时调用,该注册将根据架构进行验证并插入数据库中。 我正在提供与注册相关的代码。 signup.js const { User } = require("../../models"); const createErro

我正在NodeJS中开发一个服务器,其中有两条路径-登录和注册

每当我注册时,我都会得到成功的响应,数据成功存储在MongoDB数据库中,然后我的应用程序崩溃-在控制台中等待文件更改…

注意:-“问题在于注册,而不是登录”

postSignup()将在用户请求注册时调用,该注册将根据架构进行验证并插入数据库中。 我正在提供与注册相关的代码。

signup.js

const { User } = require("../../models");
const createError = require("http-errors");

const postSignup = (req, res, next) => {
  //validation
  const validation = User.validate(req.body);

  if (validation.error) {
    const error = new Error(validation.error.message);
    error.statusCode = 400;
    return next(error);
  }

  //check Existence

  const user = new User(req.body);
  user
    .checkExistence()
    .then((result) => {
      if (result.check) {
        const error = new Error(result.message);
        error.statusCode = 409;
        return next(error);
      }

      user.save((err) => {
        if (err) {
          console.log(err);
          return next(createError(500));
        }

      res.status(201).json({
          message: "User has been Successfully Created",
        });
      });
    })
    .catch((err) => {
      next(createError(500));
    });
};

module.exports = {
  postSignup,
};
const { dbCon } = require("../configuration");
const { userValidator, logSchema } = require("../validator");
const { hashSync, compareSync } = require("bcryptjs");

class User {
  constructor(userData) {
    this.userData = { ...userData };
  }

  save(cb) {
    dbCon("users", (db) => {
      try {
        const hashPass = hashSync(this.userData["password"], 12);
        this.userData["password"] = hashPass;
        db.insertOne(this.userData);
        cb();
      } catch (err) {
        cb(err);
      }
    });
  }

  checkExistence() {
    return new Promise((resolve, reject) => {
      dbCon("users", async (db) => {
        try {
          const user = await db.findOne({
            $or: [
              { username: this.userData["username"] },
              { email: this.userData["email"] },
            ],
          });

          if (!user) {
            resolve({
              check: false,
            });
          } else if (this.userData["username"] === user.username) {
            resolve({
              check: true,
              message: "username already exists",
            });
          } else if (this.userData["email"] === user.email) {
            resolve({
              check: true,
              message: "email already exists",
            });
          }
        } catch (err) {
          reject(err);
        }
      });
    });
  }
  static validate(userData) {
    //console.log(userData);
    return userValidator.validate(userData);
  }

module.exports = User;
const Joi = require("@hapi/joi");

const schema = Joi.object({
  username: Joi.string().alphanum().required().min(3).max(15),
  email: Joi.string().email().required(),
  password: Joi.string()
    .pattern(
      new RegExp(
        "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$"
      )
    )
    .message(
      "Password must contain at least eight characters, at least one number and both lower and uppercase letters and special characters"
    )
    .required(),
  first_name: Joi.string().required(),
  last_name: Joi.string().required(),
});


module.exports = {
  schema
};
User.js

const { User } = require("../../models");
const createError = require("http-errors");

const postSignup = (req, res, next) => {
  //validation
  const validation = User.validate(req.body);

  if (validation.error) {
    const error = new Error(validation.error.message);
    error.statusCode = 400;
    return next(error);
  }

  //check Existence

  const user = new User(req.body);
  user
    .checkExistence()
    .then((result) => {
      if (result.check) {
        const error = new Error(result.message);
        error.statusCode = 409;
        return next(error);
      }

      user.save((err) => {
        if (err) {
          console.log(err);
          return next(createError(500));
        }

      res.status(201).json({
          message: "User has been Successfully Created",
        });
      });
    })
    .catch((err) => {
      next(createError(500));
    });
};

module.exports = {
  postSignup,
};
const { dbCon } = require("../configuration");
const { userValidator, logSchema } = require("../validator");
const { hashSync, compareSync } = require("bcryptjs");

class User {
  constructor(userData) {
    this.userData = { ...userData };
  }

  save(cb) {
    dbCon("users", (db) => {
      try {
        const hashPass = hashSync(this.userData["password"], 12);
        this.userData["password"] = hashPass;
        db.insertOne(this.userData);
        cb();
      } catch (err) {
        cb(err);
      }
    });
  }

  checkExistence() {
    return new Promise((resolve, reject) => {
      dbCon("users", async (db) => {
        try {
          const user = await db.findOne({
            $or: [
              { username: this.userData["username"] },
              { email: this.userData["email"] },
            ],
          });

          if (!user) {
            resolve({
              check: false,
            });
          } else if (this.userData["username"] === user.username) {
            resolve({
              check: true,
              message: "username already exists",
            });
          } else if (this.userData["email"] === user.email) {
            resolve({
              check: true,
              message: "email already exists",
            });
          }
        } catch (err) {
          reject(err);
        }
      });
    });
  }
  static validate(userData) {
    //console.log(userData);
    return userValidator.validate(userData);
  }

module.exports = User;
const Joi = require("@hapi/joi");

const schema = Joi.object({
  username: Joi.string().alphanum().required().min(3).max(15),
  email: Joi.string().email().required(),
  password: Joi.string()
    .pattern(
      new RegExp(
        "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$"
      )
    )
    .message(
      "Password must contain at least eight characters, at least one number and both lower and uppercase letters and special characters"
    )
    .required(),
  first_name: Joi.string().required(),
  last_name: Joi.string().required(),
});


module.exports = {
  schema
};
userValidator.js

const { User } = require("../../models");
const createError = require("http-errors");

const postSignup = (req, res, next) => {
  //validation
  const validation = User.validate(req.body);

  if (validation.error) {
    const error = new Error(validation.error.message);
    error.statusCode = 400;
    return next(error);
  }

  //check Existence

  const user = new User(req.body);
  user
    .checkExistence()
    .then((result) => {
      if (result.check) {
        const error = new Error(result.message);
        error.statusCode = 409;
        return next(error);
      }

      user.save((err) => {
        if (err) {
          console.log(err);
          return next(createError(500));
        }

      res.status(201).json({
          message: "User has been Successfully Created",
        });
      });
    })
    .catch((err) => {
      next(createError(500));
    });
};

module.exports = {
  postSignup,
};
const { dbCon } = require("../configuration");
const { userValidator, logSchema } = require("../validator");
const { hashSync, compareSync } = require("bcryptjs");

class User {
  constructor(userData) {
    this.userData = { ...userData };
  }

  save(cb) {
    dbCon("users", (db) => {
      try {
        const hashPass = hashSync(this.userData["password"], 12);
        this.userData["password"] = hashPass;
        db.insertOne(this.userData);
        cb();
      } catch (err) {
        cb(err);
      }
    });
  }

  checkExistence() {
    return new Promise((resolve, reject) => {
      dbCon("users", async (db) => {
        try {
          const user = await db.findOne({
            $or: [
              { username: this.userData["username"] },
              { email: this.userData["email"] },
            ],
          });

          if (!user) {
            resolve({
              check: false,
            });
          } else if (this.userData["username"] === user.username) {
            resolve({
              check: true,
              message: "username already exists",
            });
          } else if (this.userData["email"] === user.email) {
            resolve({
              check: true,
              message: "email already exists",
            });
          }
        } catch (err) {
          reject(err);
        }
      });
    });
  }
  static validate(userData) {
    //console.log(userData);
    return userValidator.validate(userData);
  }

module.exports = User;
const Joi = require("@hapi/joi");

const schema = Joi.object({
  username: Joi.string().alphanum().required().min(3).max(15),
  email: Joi.string().email().required(),
  password: Joi.string()
    .pattern(
      new RegExp(
        "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$"
      )
    )
    .message(
      "Password must contain at least eight characters, at least one number and both lower and uppercase letters and special characters"
    )
    .required(),
  first_name: Joi.string().required(),
  last_name: Joi.string().required(),
});


module.exports = {
  schema
};

我也面临同样的问题。我不知道是什么问题,但我尝试在mongo db connect中更改节点版本,然后使用新的连接URL


如果仍然无法使用,请尝试创建新群集,并将其与新群集重新连接。

Thanx buddy!创建新的集群作品!但我还是不知道问题出在哪里。。。