我刚刚开始使用Sails.js与其ORM,Waterline,绝对喜欢它,但我不知道如何使用查询修饰符的日期.我正在使用sails-
mysql.具体来说,我试图获取在两个特定日期之间有一个datetime字段的行.我试过这样做:
MyModel.find() .where({ datetime_field: { '>=': startDate } }) .where({ datetime_field: { '<=': endDate } }) .done(function(err,objects){ // ... });
startDate和endDate都是两个Date对象.我也尝试用toString()将它们转换成字符串.在这两种情况下,我从数据库中获取每一行,而不是两个日期之间的行.有没有办法做到这一点,或者这个功能还不是Waterline还是sails-MysqL的一部分?
解决方法
在同一条船上(不是双关语),而是使用帆船.
如果您拥有正确的日期格式(如Jeremie所提及).我个人在UTC时刻(startDate).toISOString()中存储日期,您可以在客户端(startDate)在local date and time工作.
看看Waterline source for deferred queries(参见where方法),它应用最新的datetime_field条件,它被认为是有效的.
拖网浏览代码,搜索和组后,我没有找到任何帮助.我确实希望我错过了一些明显的事情,但是现在我现在的建议是将结果放在你的startDate上,然后限制它,
例如
.where({ datetime_field: { '>=': startDate } }) .limit(100)