MongoDB ObjectIds nach Datum abfragen
Frage:
Ist es möglich, Dokumente von abzurufen? eine MongoDB-Sammlung basierend auf dem in ihren ObjectIds eingebetteten Datum?
Antwort:
Ja, es ist möglich, MongoDB-ObjectIds mithilfe eingebetteter Zeitstempel nach Datum abzufragen.
In JavaScript können Sie die Funktion ObjectId() verwenden, um ObjectIds mit bestimmten Zeitstempeln zu erstellen. Der folgende Code erstellt beispielsweise eine ObjectId, in die ein Zeitstempel eingebettet ist, der Mitternacht am 25. Mai 1980 darstellt:
<code class="javascript">var timestamp = new Date('1980/05/25'); var hexSeconds = Math.floor(timestamp/1000).toString(16); var constructedObjectId = ObjectId(hexSeconds + "0000000000000000");</code>
Um alle nach diesem Zeitstempel erstellten Dokumente abzufragen, können Sie den Operator $gt (größer als) verwenden :
<code class="javascript">db.mycollection.find({ _id: { $gt: constructedObjectId } });</code>
Diese Abfrage gibt alle Dokumente zurück, deren ObjectIds Zeitstempel haben, die größer als Mitternacht des 25. Mai 1980 sind, wodurch Dokumente effektiv nach dem Erstellungsdatum gefiltert werden.
Das obige ist der detaillierte Inhalt von## Können Sie MongoDB-Objekt-IDs anhand ihrer eingebetteten Daten abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!