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

mongoDB. baca, cari cap waktu berdasarkan oplog

Timestamp nilai yang Anda lihat di oplog adalah tipe internal MongoDB BSON. Argumen pertama es dalam representasi sebagai fungsi Timestamp(es, ord) adalah time_t nilai detik sejak zaman Unix. Yang kedua adalah ordinal yang memesan cap waktu dalam satu detik. Anda harus dapat menanyakan Timestamp s biasanya dengan $gt , $lt , dll.:

> db.ts.find()
{ "_id" : ObjectId("53eb914ff9b63e0dd3ca1a20"), "ts" : Timestamp(1406185666, 1) }
{ "_id" : ObjectId("53eb915cf9b63e0dd3ca1a21"), "ts" : Timestamp(1405914581, 1) }
{ "_id" : ObjectId("53eb917cf9b63e0dd3ca1a22"), "ts" : Timestamp(1406185666, 2) }

> db.ts.find({ "ts" : { "$gte" : Timestamp(1406185630, 1) } })
{ "_id" : ObjectId("53eb914ff9b63e0dd3ca1a20"), "ts" : Timestamp(1406185666, 1) }
{ "_id" : ObjectId("53eb917cf9b63e0dd3ca1a22"), "ts" : Timestamp(1406185666, 2) }

> db.ts.find({ "ts" : { "$gt" : Timestamp(1406185666, 1) } })
{ "_id" : ObjectId("53eb917cf9b63e0dd3ca1a22"), "ts" : Timestamp(1406185666, 2) }

Untuk menjawab pertanyaan spesifik Anda (dalam cangkang mongo),

> var SECS_PER_HOUR = 3600
> var now = Math.floor((new Date().getTime()) / 1000) // seconds since epoch right now
> db.oplog.rs.find({ "ts" : { "$lt" : Timestamp(now, 1), "$gt" : Timestamp(now - SECS_PER_HOUR, 1) } })

Anda tidak menentukan zona waktu - pastikan untuk berhati-hati tentang itu dan buat pilihan yang tepat.

> var since = Math.floor(ISODate("2014-08-12T09:00:00.000Z").getTime() / 1000)
> var until = Math.floor(ISODate("2014-08-12T15:00:00.000Z").getTime() / 1000)
> db.oplog.rs.find({ "ts" : { "$lt" : Timestamp(until, 1), "$gt" : Timestamp(since, 1) } })



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. jatuhkan seluruh basis data dalam satu perintah untuk memulihkan dump mongodb

  2. DBRefs (referensi Dokumen Mongo) tidak diambil dengan penuh semangat

  3. MongoDB hapusSatu()

  4. Nilai pengembalian meteor sebagai string

  5. Meteor:Kode keluar mongo tak terduga 100. Mulai ulang. Tidak dapat memulai server mongo