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

mengatur nilai bidang hash mongoid

Masalahnya dengan bidang Hash adalah, itu bisa dinamis sebanyak yang Anda inginkan. Oleh karena itu untuk mencegah pencemaran skema DB Anda dengan bidang yang tidak diinginkan yang disebabkan oleh bug dalam kode Anda, fungsi ini dinonaktifkan secara default.

Tidak, Anda tidak terjebak menggunakan pembaruan 2 langkah untuk hash Anda sama sekali!

[],[]=adalah pintasan untuk read_attribute() dan write_attribute() dan harus digunakan jika Anda tidak menyertakan Mongoid::Attributes::Dynamic . Jika Anda mencoba menggunakan $set tanpa mengaktifkan atribut dinamis, Anda akan mendapatkan kesalahan tanpa metode karena atribut dinamis Anda tidak terlihat sebagai atribut yang ditentukan.

Jika Anda membaca sumber Mongoid::Atribut::Dinamis maka Anda akan menemukan bahwa ini diperlukan untuk menambahkan fungsionalitas atribut dinamis.

Untuk memperbarui nilai dengan menyertakan Mongoid::Attributes::Dynamic Anda harus mengikuti langkah-langkah berikut:

thing = Thing.first
thing.set("info.endDate" => Time.now)
thing.reload # This will update the current variable 

Jika tidak, jika perlu, Anda dapat dengan mudah melewati ini dan melakukan pembaruan nilai dengan metode 2 langkah

Saya harap ini menjelaskan pertanyaan Anda.

Sumber:

Rel bidang dinamis mongoid - tidak ada kesalahan metode

Atribut dinamis dengan Rails dan Mongoid



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Driver MongoDB C# 'Kursor tidak ditemukan'

  2. Menghapus database.yml saat menggunakan Mongoid di Rails 3.2

  3. Perbarui atau tambahkan ke subkoleksi di mongo

  4. Bandingkan perbedaan mongo pada dua koleksi

  5. 4 Cara Menghapus Dokumen di MongoDB