egg-sequelize:Missing where attribute ...是什么情况

console.log打印:
Missing where attribute in the options parameter
这个是什么问题?

model/user.js

module.exports = app => {
    const {
        STRING,
        INTEGER,
        DATE,
        BOOLEAN
    } = app.Sequelize;

    return app.model.define('user', {
        avatar: STRING(30),//用户头像
        username: STRING(30),//用户名
        nickname: STRING(32),//名字
        age: DATE,//年龄
        sex: STRING(8),//性别
        password: STRING(255),//密码
        email: STRING(32),//电子邮件
        mobile: STRING(32),//手机号
        wechat_name: STRING(32),//微信号
        role_id: INTEGER(8),//角色权限
        count: INTEGER,//登录次数
        last_sign_in_at: DATE,//最后登录时间
        last_login_ip: STRING(32),//最后登录IP
        status: INTEGER(1),//用户状态
    });
};

service/login.js

async logout(id, ipAt) {
      const { model } = this.ctx;
      const logoutByUser = await model.User.update({
        attributes:['id','last_login_ip','ast_sign_in_at'],
        where: {
          id: id,
          last_login_ip: ipAt,
          last_sign_in_at:new Date()
        }
      })
      
      return logoutByUser
    }

controller/login.js

async logout() {
        const { app, ctx } = this;
        if(ctx.session.isLogin){
            const logoutLog = await ctx.service.login.logout(ctx.session.user.data.id,ctx.request.ip);
        }
        ctx.session.user = null
        ctx.session.isLogin = false
        let data = {
            code: 200,
            msg: "成功退出!",
        }
        ctx.response.body = data;
    }
阅读 4.4k
1 个回答
const logoutByUser = await model.User.update(
    {last_login_ip: ipAt,last_sign_in_at: new Date()},
    {where: {id: id}}
)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进