Sails.js水线查询修饰符date与sails-mysql?

我刚刚开始使用它的ORM,水线Sails.js,绝对喜欢它,但我不知道如何使用date查询修饰符。 我正在使用sails-mysql。 具体来说,我想获得具有两个特定date之间的date时间字段的行。 我试过这样做:

MyModel.find() .where({ datetime_field: { '>=': startDate } }) .where({ datetime_field: { '<=': endDate } }) .done(function(err, objects){ // ... }); 

startDateendDate是两个Date对象。 我也尝试将它们转换为toString()string。 在这两种情况下,我从数据库中获取每一行,而不是两个date之间的行。 有没有办法做到这一点,或者这个function还不是Waterline或者sails-mysql的一部分吗?

在同一条船(没有双关语意图),但使用帆 – 蒙哥。

如果你有正确的date格式(正如Jeremie所提到的那样)。 我个人将date存储在UTC moment(startDate).toISOString()在客户端上,你可以在moment(startDate)在本地date和时间工作 。

查看延期查询的Waterline源代码 (请参阅where方法),它将应用最新的datetime_field标准,认为它是有效的。

通过代码search,search和组后,我没有find任何帮助。 我当然希望我已经错过了一些显而易见的事情,但是现在我的build议是将结果固定在startDate ,然后用一个限制来限制,

例如

 .where({ datetime_field: { '>=': startDate } }) .limit(100) 

您需要将date格式设置为YYYY-MM-DD格式的string。 如果你需要帮助格式化你的date, 那么moment.js有很多很酷的function。

格式化你的date看起来像

 var formatedStartDate = moment(startDate).format('YYYY-MM-DD');