MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Rails 4 i mongoid:programowo buduj zapytanie z wieloma warunkami AND i OR

Zapytanie, które chcesz zbudować to:

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

:field.in działa tak samo jak field in (...) w SQL, a to tylko krótka forma wyrażenia lub. To znacznie ułatwia sprawę, ponieważ wystarczy dodać .in wywołuje criteria klucze, których wartości są tablicami, coś takiego:

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. Mongodb - czy problemy z niezawodnością są nadal istotne?

  2. Czy można zmienić nazwę pola _id po agregacji grup mongo?

  3. Konfigurowanie połączenia singleton z node.js i mongo

  4. Jak wykluczyć wartości null z zapytania Mongoose wypełnij

  5. Jak mam zarejestrować moją usługę mongodb, która używa MongoClient, Singleton lub Scoped?