使用 MongoDB ObjectId 依照建立日期找出文件
MongoDB ObjectId 在其 12 位元組表示中儲存文件所建立的時間戳記。為了幫助根據創建日期查詢文檔,可以利用此功能。
考慮以下場景:您希望尋找 1980 年 5 月 25 日午夜之後建立的所有文件。要實現此目的,您可以使用以下方法:
用於產生時間嵌入的ObjectId 的JavaScript 程式碼:
<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>
查詢範例:
<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>
此查詢將傳回ObjectId 代表時間大於給定時間戳記的所有文件。透過這種方式,您可以根據文件的建立日期有效地隔離文件。
以上是如何使用 MongoDB ObjectIds 根據建立日期查找文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!