我发现了一些奇怪的行为。当我包含某个 where 子句时,查询根本不返回。 . .
var query = "SELECT id FROM tbl_jobs WHERE jobSiteId = "+site.id+/*" AND jobStartStamp > "+start_stamp +*/" ORDER BY jobStartStamp ASC LIMIT 1";
//sails.log.error(query);
Visit.query(query,function(err, visit){
if (err) {
sails.log.error(err);
return res.serverError(err);
}
return res.send(visit);
});
//Visit.find({site:site.id, start:{">",start_stamp}).sort({start:"ASC"}).limit.exec
... doesn't work
当我注释掉“jobStartStamp”where 子句时,查询返回正常。当我把它放回去时,它不会调用回调。我在 sails 控制台上没有收到任何错误。
当我在 phpMyAdmin 中执行查询(使用整个 where 子句)时,我得到了响应(<1 秒)。
任何想法如何找出发生这种情况的原因?
最佳答案
您是在两个实例中针对同一个数据库运行,还是一个数据库在您的服务器上而另一个在您的桌面上?如果数据以“<”而不是“>”返回,则表明您的服务器在早于 start_stamp 的日期/时间具有 jobStartStamp。
是否未调用 Visit 回调,或者它是否从查询中获得了空结果集?
关于mysql - Sails.js/Waterline - MySQL 查询未返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32181662/