Menyoal MongoDB ObjectId mengikut Tarikh
Soalan:
Adakah mungkin untuk mendapatkan semula dokumen daripada koleksi MongoDB berdasarkan tarikh yang dibenamkan dalam ObjectIds mereka?
Jawapan:
Ya, adalah mungkin untuk menanyakan MongoDB ObjectIds mengikut tarikh dengan bantuan cap waktu terbenam.
Dalam JavaScript, anda boleh menggunakan fungsi ObjectId() untuk membina ObjectIds dengan cap masa tertentu. Sebagai contoh, kod berikut mencipta ObjectId yang dibenamkan dengan cap masa yang mewakili tengah malam pada 25 Mei 1980:
<code class="javascript">var timestamp = new Date('1980/05/25'); var hexSeconds = Math.floor(timestamp/1000).toString(16); var constructedObjectId = ObjectId(hexSeconds + "0000000000000000");</code>
Untuk menanyakan semua dokumen yang dibuat selepas cap masa ini, anda boleh menggunakan operator $gt (lebih besar daripada) :
<code class="javascript">db.mycollection.find({ _id: { $gt: constructedObjectId } });</code>
Pertanyaan ini akan mengembalikan semua dokumen yang ObjectIdnya mempunyai cap masa lebih besar daripada tengah malam pada 25 Mei 1980, dengan berkesan menapis dokumen berdasarkan tarikh penciptaan.
Atas ialah kandungan terperinci ## Bolehkah Anda Menyoal MongoDB ObjectIds Berdasarkan Tarikh Terbenamnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!