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

Rails 4 dan mongoid:secara terprogram membuat kueri dengan beberapa kondisi AND dan OR

Kueri yang ingin Anda buat adalah:

MyClass.where(
  :name.in   => [ 'John', 'Luke' ],
  :status.in => [ 'ACTIVE', 'SUSPENDED' ]
)

Sebuah :field.in bekerja sama dengan field in (...) dalam SQL dan itu hanya bentuk singkat untuk pernyataan atau. Itu membuat segalanya sedikit lebih mudah karena Anda hanya perlu menambahkan .in panggilan ke criteria kunci yang nilainya adalah array, seperti ini:

query = criteria.each_with_object({}) do |(field, values), query|
  field = field.in if(values.is_a?(Array))
  query[field] = values
end
MyClass.where(query)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. InsertMany tidak berfungsi di mongodb

  2. Perlu menyimpan nilai desimal presisi tinggi di MongoDB

  3. Evaluasi elemen array secara kondisional untuk dikembalikan

  4. Proyeksi di Mana Klausul Kueri dari dokumen Tertanam di Koleksi MongoDB menggunakan C#

  5. Menangani migrasi dengan MongoDb