MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Rails 4 và mongoid:tạo một truy vấn theo chương trình với nhiều điều kiện AND và OR

Truy vấn bạn muốn tạo là:

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

A :field.in hoạt động giống như trường field in (...) trong SQL và đó chỉ là một dạng ngắn cho câu lệnh or. Điều đó làm cho mọi thứ dễ dàng hơn một chút vì bạn chỉ cần thêm .in gọi đến criteria khóa có giá trị là mảng, giống như thế này:

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. Hiệu suất MongoDB:Chạy MongoDB tổng hợp trên trang thứ hai

  2. Cách chèn đối tượng mới mà không xóa đối tượng trước đó

  3. Mongo DB:Tìm giá trị mảng lồng nhau

  4. Mongoose đổi tên bộ sưu tập

  5. Mongodb- Thêm chỉ mục duy nhất trên một bộ sưu tập hiện có