2016-03-21 10 views
0

Ich habe eine Antwort gefunden, die zeigt, wie Sie dynamische Abfrage in MongoDB erstellen. Jetzt muss ich einen Filter auf das Datum weniger ein anderes Datum hinzufügen.Datum Filter in mongoDB dynamische Abfrage

Ich schrieb diesen Code, aber es funktioniert nicht:

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

Wenn ich einen Alarm setzen nach der Zuweisung ich ein korrektes Datum Wert bekommen, aber ich weiß nicht ant Reihe sehen.

Was ist los?

+1

Wo schlägt es fehl? Was ist der Fehler? Bitte geben Sie weitere Informationen. Ich denke, da ist etwas falsch mit 'Session.get ('scadenzaTra')' weil es ohne es funktioniert (natürlich, wenn das 'scadenza'-Feld tatsächlich ein Datum ist ...) – TomG

+0

Wenn ich nach dem Auftrag eine Warnung mache, bekomme ich ein korrekter Datumswert, aber ich sehe keine Ameisenreihe. – Halley73

+0

Ich wäre ziemlich positiv, du meintest 'new Date(). ValueOf()', für das du auch einfach 'Date.now()' schreiben kannst. Sie scheinen eine * "Anzahl von Tagen" * hinzufügen zu wollen, die vermutlich im zurückgegebenen Wert von 'Session.get ('scadenzaTra')' enthalten ist und daher multipliziert mit der Anzahl von Millisekunden an einem Tag. Daher möchten Sie die Millisekunden von der aktuellen Zeit, um das gültig zu machen. Nicht sicher, welchem ​​Zweck dies dient, da dieser Zusatz immer zu einem "zukünftigen Datum" führen wird, es sei denn, die zurückgegebene Sitzungsvariable ist tatsächlich "negativ". –

Antwort

-1
$startDate = Carbon::createFromDate(2016, 9, 22); 
    $endDate = Carbon::createFromDate(2016, 9, 24); 
$users = User::where('created_at','>',$startDate) 
    ->where('created_at','<',$endDate)->get();