MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana Anda mengekstrak stempel waktu dari MongoDB ObjectId di Spring Data MongoDB?

Sangat mudah untuk mendapatkan waktu dari ObjectId ... namun Anda TIDAK mendapatkan presisi ms.

org.bson.types.ObjectId memiliki 2 metode yang dapat Anda gunakan:getTimeSecond() dan getTime() (sama seperti `getTimeSecond() * 1000L ). Ini akan mendapatkan stempel waktu unix Anda.

Saya belum pernah menggunakan MongoDB dengan Spring - tetapi jika Anda bisa mendapatkan ObjectId yang sebenarnya contoh yang sederhana seperti memanggil salah satu metode di atas.

Sekarang - untuk meminta dokumen dalam rentang waktu, Anda harus mundur dan membuat ObjectId objek berdasarkan timestamp. Sekali lagi - ini sederhana - ObjectId memiliki konstruktor dapat melakukan ini untuk Anda:

ObjectId(Date time)

Jadi - buat 2 ObjectId instance yang mewakili batas waktu minimum dan maksimum Anda, lalu lakukan kueri seperti:

db.collection.find({ "field" : { $gt: value1, $lt: value2 } } );

di mana value1 dan value2 mewakili ObjectId contoh yang Anda buat melalui ObjectId(Date time)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apakah Azure Cosmos DB tidak mendukung indeks unik MongoDB/Mongoose?

  2. Apakah ada komponen Polimer yang menyederhanakan komunikasi dengan MongoDB?

  3. Bagaimana cara menjalankan perintah mongodump secara terprogram dari node.js?

  4. MongoDB $atanh

  5. Kelas 'MongoDB\Driver\Manager' tidak ditemukan