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

Mongoid::Versioning - bagaimana cara memeriksa versi sebelumnya?

Modul Mongoid::Versioning menambahkan bidang bernama versi tipe Integer ke dokumen, bidang itu mencatat versi dokumen saat ini, mulai dari 1, hingga maksimum (jika ditentukan). Selain itu Anda akan memiliki "versi" dokumen tertanam yang akan dibuat. Kemudian ada panggilan balik before_save yang menangani pembuatan versi untuk Anda.

Umumnya saya akan merekomendasikan maksimal, tapi itu terserah Anda. Dalam hal bagaimana mendapatkannya, Anda tidak memberikan contoh dokumen, jadi mari kita pergi dengan artikel yang sangat sederhana sebagai contoh:

#Make an empty post, just a title, version 1
post = Post.create(:title => "Hello World")
# Now add some "content" and save, version 2
post.content = "Woo - content"
post.save

Itu akan memberi kita dokumen seperti ini:

{
  "title": "Hello World",
  "content": "Woo - content",
  "comments": [
  ]
  "version": 2
  "versions": [
    { "title": "Hello World", "version": 1 }
  ]
}

Sekarang Anda hanya perlu menggunakan mekanisme pencarian standar untuk mendapatkannya:

post = Post.find(:first, :conditions => {:title => "Hello World"})

Ambil versi terbaru dari itu, dan kemudian Anda dapat mencari versi sebelumnya secara terprogram. Saya akan memposting output, tetapi saya tidak memiliki sampel yang disiapkan saat ini.

Demikian pula Anda hanya perlu menjalankan db.namespace.find() berdasarkan judul, bidang versi jika Anda ingin melakukannya melalui shell.

Semoga itu masuk akal.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ambil nilai dari array dan simpan dalam file csv menggunakan MongoDB

  2. Bagaimana cara mendapatkan objek Node saat menggunakan Neo4j jdbc?

  3. Mengapa tidak disarankan untuk menggunakan fungsi tersimpan sisi server di MongoDB?

  4. Cara mengaktifkan konsol HTTP pada set replika MongoDB 2.6

  5. Bagaimana mengembangkan aplikasi untuk MongoDB dan Redpanda menggunakan Docker Compose