Dokumente anhand des Erstellungsdatums mithilfe von MongoDB-Objekt-IDs finden
MongoDB-Objekt-IDs enthalten den Zeitstempel der Dokumenterstellung in ihrer 12-Byte-Darstellung. Um die Abfrage von Dokumenten anhand ihres Erstellungsdatums zu erleichtern, kann diese Funktion genutzt werden.
Stellen Sie sich das folgende Szenario vor: Sie möchten alle Dokumente finden, die nach Mitternacht des 25. Mai 1980 erstellt wurden. Um dies zu erreichen, können Sie Folgendes verwenden: Der folgende Ansatz:
JavaScript-Code zum Generieren von zeiteingebetteten ObjectIds:
<code class="javascript">/* Function creates an ObjectId embedded with a given datetime (Date object or string) */ function objectIdWithTimestamp(timestamp) { timestamp = typeof timestamp == 'string' ? new Date(timestamp) : timestamp; var hexSeconds = Math.floor(timestamp / 1000).toString(16); return ObjectId(hexSeconds + "0000000000000000"); }</code>
Abfragebeispiel:
<code class="javascript">/* Find documents created after midnight on May 25th, 1980 using the generated ObjectId */ db.mycollection.find({ _id: { $gt: objectIdWithTimestamp('1980/05/25') } });</code>
Diese Abfrage gibt alle Dokumente mit einer ObjectId zurück, die eine Zeit darstellt, die größer als der angegebene Zeitstempel ist. Auf diese Weise können Sie Dokumente effizient anhand ihres Erstellungsdatums isolieren.
Das obige ist der detaillierte Inhalt vonWie können MongoDB ObjectIds verwendet werden, um Dokumente anhand ihres Erstellungsdatums zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!