【发布时间】:2018-12-11 20:25:47
【问题描述】:
我有一个 Node.js 脚本曾经可以工作,但在我切换到另一个 VM 后,它就不再工作了。任何人都可以看到问题是什么?这里是函数,db是一个数据库:
this.start = function() {
logger.debug('Starting up.');
db.serialize(() => {
db.run("DELETE FROM jobs WHERE status = 'failed'")
.run("UPDATE jobs SET status = 'queued'", (err) => {
if (err) {
logger.error(err.message);
} else {
logger.info('done');
}
});
});
}
现在我收到以下错误:
TypeError: Cannot read property 'run' of undefined
at Database.db.serialize ()
at TransactionDatabase.serialize
at module.exports.start
at Object.<anonymous>
...
错误指向第二个“.run”。
我的 Node.js 版本是 10.4.1,sqlite3 版本是 3.8.2。
我错过了什么?某个模块?
【问题讨论】:
-
哪个
.run抛出错误?序列化查询时可能无法链接 -
这是第二个 .run。我认为在另一个系统上这个脚本有效。最后,我重新编写了脚本以摆脱链接。现在可以工作,但很遗憾不知道问题出在哪里。
标签: javascript node.js sqlite