【发布时间】:2014-10-05 15:34:54
【问题描述】:
我遇到了sequelise.js 的max 查询功能的问题,其中返回的“成功”对象是null,尽管记录的查询符合预期(并且针对目标数据库工作)。
不用多说,这里是codez;
LunaEventDomain
.max("date", {where : { "luna_event_location_id": lunaLocationId }})
.success(function(max) {
console.log("Max object, %s", max);
console.log("Max object is date? [%s]", typeof max == Date);
var result;
if (max == null) {
result = false;
} else {
result = checkHasRecordsAfter(daysInAdvance, max);
}
return result;
})
.error(function(error) {
console.log("Encountered an error from max query, [%s]", error);
});
片段 1: 最大查询代码。
日志注释;
Executing (default): SELECT max(`date`) as `max` FROM `luna_event` WHERE `luna_event`.`luna_event_location_id`='1';
Max object, null
Max object is date? [false]
片段 2: 生成的日志。
LunaEventDomain 表具有 (MySQL) 架构;
id int(11)
event_type enum('LOW_WATER', 'HIGH_WATER', 'MOONRISE', 'MOONSET')
date datetime
height decimal(10,3)
luna_event_location_id int(11)
当我对目标数据库执行记录的查询时,我会检索到适当的响应。我究竟做错了什么?我希望将最大结果作为success(function(max) { ... }) 回调的一部分提供。
【问题讨论】:
-
看起来这是我不理解 sequelisejs#sync 在服务器重新启动之间清除数据库的原因。最大查询在第二次请求后按预期返回!
标签: javascript node.js sequelize.js