首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sequelize错误:不返回数据库值

Sequelize错误:不返回数据库值
EN

Stack Overflow用户
提问于 2018-03-14 07:56:41
回答 3查看 604关注 0票数 1

我尝试将密码从数据库返回到另一个javascript文件。该函数将正确检索数据。但是,当我将值返回到另一个函数时,它将被更改为未定义的。我想将密码从model.js返回到controller.js

代码: model.js

代码语言:javascript
复制
const Sequelize = require('sequelize'); //import sequelize orm

// connect with psql db
var connection = new Sequelize('emd','postgres','test',{
  dialect : 'postgres'
});

//create a table;
var student = connection.define('student',{
  name : {
    type : Sequelize.STRING,
    allowNull : false},
  email : {
    type: Sequelize.STRING,
    unique : true,
    allowNull : false},
  password : {
    type : Sequelize.STRING,
    allowNull : false },
  mobile : {
    type: Sequelize.BIGINT(11),
    unique : true,
    allowNull : false }
});

var methods = {};
  methods.signup = function(u_name,u_email,u_password,u_mobile){
      connection.sync().then(function(){
        student.create({
          name : u_name,
          email : u_email,
          password : u_email,
          mobile : u_mobile
        });
      });
    }
  methods.login = function(email_id){

    connection.sync().then(function(){
        student.findOne({where : {email : email_id }} ).then(results =>{
          return results.dataValues.password;    
        });
      });
    }

exports.fun = methods;

代码: Controller.js

代码语言:javascript
复制
var model = require('./model.js')

var methods={}
  methods.login = function(email,password){
    let res = model.fun.login(email)
    console.log(res);
    if(password===res){
      console.log("success");
    }
    else {
      console.log("failure");
    }
  }


exports.cont = methods
EN

Stack Overflow用户

回答已采纳

发布于 2018-03-14 12:39:15

添加到@Sagar Jojoriya,

像这样改变你的model.js

代码语言:javascript
复制
methods.login = function(email_id, callbackFun){
connection.sync().then(function(){
    student.findOne({where : {email : email_id }} ).then(results =>{
      console.log("debug pass => ", results.dataValues.password);
      callbackFun(results.dataValues.password);
    });
  });
}

在你的controller.js里

代码语言:javascript
复制
methods.login = function(email,password){
    model.fun.login(email, function(resPassword) {
        if(password === resPassword){
        console.log("success");
    } else {
      console.log("failure");
    }
  })
}
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49272316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档