- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Sequelize 模型将登录用户的信息存储在 Node web 应用程序中。 user
模型是偏执的 ( docs ),如果用户停用其帐户,则实例将被删除。当我尝试重新加载已停用的用户实例时,它失败并出现以下类型错误。为什么?
TypeError: Cannot read property 'dataValues' of null
at null.<anonymous> (/home/christo/repos/ticktrack/login-fiddle/src/server/node_modules/sequelize/lib/instance.js:723:20)
at tryCatcher (/home/christo/repos/ticktrack/login-fiddle/src/server/node_modules/sequelize/node_modules/bluebird/js/main/util.js:24:31)
at Promise._settlePromiseFromHandler (/home/christo/repos/ticktrack/login-fiddle/src/server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:489:31)
...
详情
使用计数器跟踪自上次成功登录以来的不成功登录尝试。每次登录失败时,该计数器都会递增,然后重新加载用户对象(以保持 Web 应用程序与数据库同步)。相关实例方法为:
increment_unsuccessful_logins: function increment_unsuccessful_logins() {
return this.increment({ unsuccessful_logins: 1})
.then(this.reload.bind(this, undefined));
}
最佳答案
将重新加载函数绑定(bind)到 this, {paranoid: false}
解决了问题。
发生类型错误是因为正在重新加载的实例已被软删除。当不带选项调用 reload
时(其绑定(bind)中的 undefined
),reload
内部调用的 find
未找到任何实例并返回 null。反过来,这导致错误消息 TypeError: Cannot read property 'dataValues' of null
.
更新后的功能代码:
increment_unsuccessful_logins: function increment_unsuccessful_logins() {
return this.increment({ unsuccessful_logins: 1})
.then(this.reload.bind(this, { paranoid: false }));
},
关于node.js - SequelizeJS - 为什么我的实例重新加载失败, "TypeError: Cannot read property ' dataValues' of null”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305803/
我用 node script.js 运行这个 sequelize 代码 const Sequelize = require('./node_modules/sequelize') const sequ
我有以下代码。这个想法是我每隔一段时间更新一个数据库行,但是如果我在此脚本运行时手动从数据库中删除该行,save() 仍然进入成功(),但该行实际上并未放回数据库. (因为 sequelize 使用
我遇到了一个异常,在任何地方都找不到解决方案。看起来像是 sequelizeJs 的 bug。 这是问题: 我有两个模型 module.exports = db.sequelize.define('u
我试图弄清楚如何将数组作为实例属性的值传递。目前,我在模型中将 dataType 设置为 STRING,并将 jQuery 字段中的值插入每个表单字段值到我从正文中解析并设置为属性的数组中,发现源。不
我正在使用 NodeJS 和 Sequelize。我有以下问题: 阅读设置表: Settings.findOne({where: { user_id: data }})
我正在使用 sequelizejs。我的数据库是 Mssql。将数据写入表时出现问题。这是我得到的错误: Unhandled rejection SequelizeDatabaseError: Con
我的模型: module.exports = function(sequelize, DataTypes){ var Podcast = sequelize.define('Podcast', {
我有一些“邀请”模型: 'use strict'; export default function (sequelize, DataTypes) { return sequelize.define
我想做一些事情,比如我在 Mongoose 中可以做的事情: Customers.find({ $or: [ {firstName: {$in:
我正在尝试诊断我的 Express 应用程序运行缓慢的原因,该应用程序使用 SequlizeJS 作为 ORM。我有一个模型与其他 2 个模型具有 2x hasMany 和 hasOne 关系: 更新
我不知道软删除是如何与 SequelizeJS 一起工作的,我也找不到任何在线文档。 我已经在 deletedAt 列中设置为 deletedAt: { type: Sequelize.DAT
如果我有一个模型用户: var User = sequelize.define('User', { name: { type: Sequelize.STRING, allowNul
是否可以在不依赖迁移的情况下使用 sequelizejs sequelize.sync() 来索引表? 如果不是,是否有任何可能的方法通过 sequelize 以编程方式进行迁移,看来文档 here
如果用户有许多项目,反之亦然,我可以使用 user.getProjects() 获取所有用户项目 - 但是有什么方法可以搜索这种关系,以便您可以翻阅结果并进行过滤(例如按项目名称)? 谢谢。 http
我想根据关联模型的参数更改模型中的值... 我不知道如何在我的预约模型中获取客户的性别... var Appointment = db.define('Appointment', { titl
所以现在我一直在使用 SequelizeJS 作为我的数据访问层,我现在最大的担忧是它试图找到一种自定义 Sequelize 模型调用的方法。 例如,假设对于 model.find() 方法,我想将缓
我正在使用 Sequelizejs 并尝试创建简单的用户验证功能 function ValidateIsUserLogged(sessionKeyInput) { var result =
我对 NodeJS 和 SequelizeJS 比较陌生,并且我正在构建的查询面临 hasOne 问题,我想知道您对此问题的看法,以找出我出错的地方以及实现此查询的正确方法。 Association
我在我的 Sequelize 应用程序中使用 PostgreSQL 和 node.js。我有两个具有一对一关系的表 - Customers 和 Users 。 UserId 表中有外键 Custome
我在 SequelizeJS 中使用关系遇到问题。 我的错误消息:(500:内部服务器错误)用户与文章无关! 文章型号: var Article = db.define('article', {
我是一名优秀的程序员,十分优秀!