Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh menanyakan dokumen MongoDB mengikut tarikh penciptaannya menggunakan cap waktu terbenam ObjectId?

Bagaimanakah saya boleh menanyakan dokumen MongoDB mengikut tarikh penciptaannya menggunakan cap waktu terbenam ObjectId?

DDD
DDDasal
2024-10-25 12:55:30807semak imbas

How can I query MongoDB documents by their creation date using ObjectId's embedded timestamp?

Menyoal MongoDB ObjectId mengikut Tarikh

ObjectIds dalam MongoDB mengekod cap waktu yang mewakili saat ia dicipta. Untuk menggunakan ciri ini untuk mendapatkan data, berikut ialah penjelasan dan contoh dalam JavaScript:

Menyiasat dengan Tarikh Terbenam

Fungsi berikut menjana ObjectId yang mengandungi tarikh masa yang disediakan:

<code class="javascript">function objectIdWithTimestamp(timestamp) {
    timestamp = new Date(timestamp);
    var hexSeconds = Math.floor(timestamp/1000).toString(16);
    return ObjectId(hexSeconds + "0000000000000000");
}</code>

Untuk menggambarkan penggunaan ini, berikut ialah pertanyaan untuk mencari dokumen yang dibuat selepas tengah malam pada 25 Mei 1980:

<code class="javascript">db.mycollection.find({ _id: { $gt: objectIdWithTimestamp('1980/05/25') } });</code>

Pertanyaan ini memanfaatkan cap waktu terbenam dalam ObjectId dengan berkesan untuk mendapatkan yang berkaitan dokumen berdasarkan tarikh penciptaannya.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menanyakan dokumen MongoDB mengikut tarikh penciptaannya menggunakan cap waktu terbenam ObjectId?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn