2011-09-29 53 views

回答

0

@Simone Carletti酒店是正確的,但你也可以使用 「蒙戈式」 符號:

# Ruby 1.9+ 
Person.where(last_name: {"$in" => ["Penn", "Teller"]}) 
#Ruby 1.9- 
Person.where(:las_name => {"$in" => ["Penn", "Teller"]}) 

或者乾脆

Person.where(:last_name.in => ["Penn", "Teller"]) 

UPD

條件兩個領域?

Person.where(:last_name.in => ["Penn", "Teller"], :first_name.in => ["Pedro", "Julio"]) 
+0

我需要或兩個字段的條件,可以說名字和姓氏 –

+0

我不知道我是否理解你,但結帳我的更新 – fl00r

+0

@ fl00r你知道如何使這個查詢屬於'OR'而不是'AND'我的意思是,'last_name.in ...或者first_name.in:...'?目前它做了一個「AND」。看到這個問題,我的意思是:http://stackoverflow.com/questions/23981407/how-do-i-find-an-object-whose-properties-foo-or-bar-equal-a-query-value –

1

下面是在mongoid 「OR」 查詢解決方案。

,如果你想查詢像下面

select * from user where id = 10 or name = 'hitesh';

與mongoid軌

,那麼你必須寫這樣的查詢

User.any_of({id: 10},{name: 'hitesh'}).first

1

這也適用於:

User.or({id: 10},{name: 'hitesh'})