2
我使用mongoid,並具有以下代碼:Mongoid:搜索中的has_many關係
class Users::User
include Mongoid::Document
field :username, type: String
has_many :emails, class_name: "Users::Email"
end
class Users::Email
include Mongoid::Document
field :email, type: String
belongs_to :user, class_name: "Users::User", inverse_of: :emails
end
數據庫:
#users collection
{
"_id" : ObjectId("5162de8a359f10cbf700000c"),
"username" : "bilbo"
}
#emails collection
{
"_id" : ObjectId("5162de8a359f10cbf700000b"),
"email" : "[email protected]",
"user_id" : ObjectId("5162de8a359f10cbf700000c"),
}
我試圖找到與下面的查詢:
Users::User.includes(:emails).any_of({username: login},{"emails.email"=> login}).first
我不知道爲什麼,但這個查詢忽略了電子郵件關係中的搜索。 當login = "bilbo"
=> true,但是當login = "[email protected]"
=>無
那麼,我在做什麼錯了?
謝謝,我已經明白了。 – ole 2013-04-09 10:53:46
不是'Users :: User.any_of({username:login},{emails:login})。first'沒有雙引號嗎? – 2014-12-20 16:39:21