Finden Sie alle Dokumente innerhalb der letzten n Tage

MeineTäglich Sammlung hat Dokumente wie:

..
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "ED", "san" : 7046.25, "izm" : 1243.96 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "UA", "san" : 0, "izm" : 0 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "PAL", "san" : 0, "izm" : 169.9 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "PAL", "san" : 0, "izm" : 0 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "CTA_TR", "san" : 0, "izm" : 0 }
{ "date" : ISODate("2013-01-04T00:00:00Z"), "vid" : "CAD", "san" : 0, "izm" : 169.9 }
{ "date" : ISODate("2013-01-04T00:00:00Z"), "vid" : "INT", "san" : 0, "izm" : 169.9 }
...

Ich habe aufgehört_Ich würde Feld, um den Platz hier zu sparen. Meine Aufgabe ist es, "alle Dokumente innerhalb der letzten 15 Tage abzurufen". Wie Sie sehen, muss ich irgendwie:

Erhalte 15 einzigartige Daten. Das neueste Dokument sollte als das neueste Dokument in der Sammlung angesehen werden (was ich damit meine, dass es zum heutigen Datum nicht erforderlich ist, es ist nur das neueste in der Sammlung, basierend aufDatum Feld) und der älteste. Nun, vielleicht ist es nicht notwendig, den ältesten Tag in der Abfrage genau zu definieren. Ich brauche eine Art Top15, beginnend mit dem neuesten Tag, wenn Sie wissen, was ich meine. Wie 15einzigartig Tage.db.daily.find () alle dokumente, die habenDatum Feld in diesem Bereich von 15 Tagen.

Im Ergebnis sollte ich alle Dokumente innerhalb von 15 Tagen ab dem neuesten Stand der Sammlung sehen.

Wie mache ich das?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage