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){ // ... });
startDate
和endDate
是两个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');