2016-03-21 6 views
0

Я нашел ответ, который показывает, как создать динамический запрос в MongoDB. Теперь мне нужно добавить фильтр на дату, отличающуюся от другой даты.Фильтр даты в динамическом запросе mongoDB

Я написал этот код, но он не работает:

query['scadenza'] = { 
    '$lt': new Date(new Date().getTime() + (Session.get('scadenzaTra') * 24 * 60 * 60 * 1000)) 
}; 

Если я ставлю оповещение после задания я получаю правильное значение даты, но я не вижу муравья строку.

Что не так?

+1

Где это происходит? Какая ошибка? Пожалуйста, предоставьте дополнительную информацию. Я думаю, что что-то не так с 'Session.get ('scadenzaTra')', потому что без него он работает (конечно, если поле 'scadenza' на самом деле является датой ...) – TomG

+0

Если я поставлю предупреждение после задания, которое я получаю правильное значение даты, но я не вижу ant row. – Halley73

+0

Я был бы очень уверен, что вы имели в виду 'new Date(). ValueOf()', для которого вы также могли бы просто написать 'Date.now()'. Кажется, вы хотите добавить * число дней *, которое предположительно содержится в возвращаемом значении 'Session.get ('scadenzaTra')' и, следовательно, умножив его на число миллисекунд в день. Поэтому вы хотите, чтобы миллисекунды с текущего времени, чтобы сделать это действительным. Не уверен, какой целью это служит, поскольку это добавление всегда приведет к «будущей дате», если, конечно, возвращенная переменная сеанса на самом деле не является «отрицательной». –

ответ

-1
$startDate = Carbon::createFromDate(2016, 9, 22); 
    $endDate = Carbon::createFromDate(2016, 9, 24); 
$users = User::where('created_at','>',$startDate) 
    ->where('created_at','<',$endDate)->get(); 
Смежные вопросы