node-sqlite:无法读取未定义的属性

时间:2016-02-02 08:19:04

标签: javascript node.js sqlite

我正在使用node-sqlite3为通过Arduino收集的基于花园的数据创建REST API。我可以获得运行正常的基本查询,例如获取数据库中的所有数据。我目前正在尝试使用特定日期获取数据,并在我的数据库处理程序中设置此代码:

exports.getSoilByDate = (date, callback) => {
    'use strict';
    db.serialize(function() {
        db.each("SELECT * FROM GARDEN WHERE TIME LIKE '%${date}%';", function(err, row) {
            console.log(row.TIME + ": " + row.SOIL_MOISTURE);
        });
    });
};

我知道目前没有回调,我计划在我停止收到错误后添加回调。我的问题是我在查询时收到错误“TypeError:无法读取未定义的属性'TIME'。

2 个答案:

答案 0 :(得分:0)

尝试调试,

  1. 在回调中添加console.log(错误)
  2. 验证列名称是“TIME”还是“time”

答案 1 :(得分:0)

我遇到了同样的问题。结果发现没有任何匹配项,因此返回的 row 未定义。简短回答:最好检查一下这种情况!

if( typeof row !== 'undefined' ) {
    /* got data */
} else {
    /* no data returned */
}