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

发布于 2022-09-07 00:11:19 字数 1601 浏览 17 评论 0

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;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤云独去闲 2022-09-14 00:11:19
const logoutByUser = await model.User.update(
    {last_login_ip: ipAt,last_sign_in_at: new Date()},
    {where: {id: id}}
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文