无法按date/时间在Waterline中查找logging
如何比较sails.js模型中的date时间? 这是我做的,但没有运气。
var _date = moment().format('YYYY-MM-DDTHH:mm:ss.SSS') + 'Z'; Game.find({ where:{ active: true, start: { '>=' : _date } }, limit: 1, sort: 'start asc' }, function(err, game) { console.log('ERROR: ' + err); console.log('Game OBJ' + game.toString()); });
datetime
types在水线(Sails ORM)中转换为实际的Javascriptdate。 所以它需要与date对象进行比较,而不是string。 您可以保持您的代码完全按照原样,但将第一行更改为:
var _date = new Date(moment().format('YYYY-MM-DDTHH:mm:ss.SSS') + 'Z');
然后你的查询应该会find所有将来开始的Game
。
当然,因为你的代码只是返回当前的date,你根本不需要moment
时间:
var _date = new Date();
也将工作。
var _date = moment().format('YYYY-MM-DDTHH:mm:ss.SSS') + 'Z';
你需要使用下面的行将上面的stringvariables转换为datevariables
var tempDate = new Date(_date);
现在使用$ gte而不是'> ='
Game.find({ where:{ active: true, start: { $gte : tempDate } }, limit: 1, sort: 'start asc' }, function(err, game) { console.log('ERROR: ' + err); console.log('Game OBJ' + game.toString()); });
您也可以使用$ gt,$ lt,$ lte。