Finden Sie alle Dokumente innerhalb der letzten n Tage

7

Meine tägliche Sammlung enthält Dokumente wie:

%Vor%

Ich habe das Feld _id weggelassen, um den Speicherplatz hier zu sparen. Meine Aufgabe ist es, "alle Dokumente innerhalb der letzten 15 Tage abzurufen". Wie Sie sehen können, muss ich irgendwie:

  1. Erhalte 15 einzigartige Daten. Der neueste sollte als das neueste Dokument in der Sammlung (was ich meine, dass es nicht notwendig ist, das heutige Datum, es ist nur das neueste in der Sammlung basierend auf Datum Feld) und das älteste. Nun, vielleicht ist es nicht notwendig, den ältesten Tag in der Abfrage genau zu definieren, was ich brauche, ist eine Art Top15 ab dem neuesten Tag, wenn Sie wissen, was ich meine. Wie 15 einzigartige Tage.
  2. db.daily.find () alle Dokumente mit Datum in diesem Zeitraum von 15 Tagen.

Im Ergebnis sollte ich alle Dokumente innerhalb von 15 Tagen sehen, beginnend mit der neuesten Kollektion.

Wie mache ich das?

Danke

    
kaytrance 22.03.2013, 14:18
quelle

2 Antworten

29

Ich habe gerade die folgende Abfrage für Ihre Datenprobe getestet und es funktionierte perfekt:

%Vor%     
Moacy Barros 22.04.2013 01:33
quelle
0

Sie müssen den eindeutigen Befehl ausführen, um alle eindeutigen Daten zu erhalten. Unten ist das Beispiel. Das Array "values" enthält alle eindeutigen Daten der Sammlung, aus der Sie die letzten 15 Tage auf der Client-Seite abrufen müssen

%Vor%

Sie verwenden dann den Operator $ in mit den letzten 15 Daten von Schritt 1. Unten ist ein Beispiel, das alle Dokumente findet, die zu einem der beiden genannten Daten gehören.

%Vor%     
Aravind R. Yarram 28.04.2013 20:00
quelle

Tags und Links