Rumah  >  Artikel  >  hujung hadapan web  >  ## Bolehkah Anda Menyoal MongoDB ObjectIds Berdasarkan Tarikh Terbenamnya?

## Bolehkah Anda Menyoal MongoDB ObjectIds Berdasarkan Tarikh Terbenamnya?

Barbara Streisand
Barbara Streisandasal
2024-10-25 11:48:02984semak imbas

## Can You Query MongoDB ObjectIds Based on Their Embedded Dates?

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!

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