【发布时间】:2019-12-05 14:27:33
【问题描述】:
我有两个型号Core::User 和Core::UserMeta:
class Core::User
include Mongoid::Document
embeds_many :core_user_meta, class_name: 'Core::UserMeta'
end
class Core::UserMeta
include Mongoid::Document
field :meta_key, type: String
field :meta_value
embedded_in :core_user, class_name: 'Core::User'
end
我对@987654326@ 上的查询Core::UserMeta 使用了两个条件,如下所示:
Core::User.where('core_user_meta.meta_key': 'roles', 'core_user_meta.meta_value': 'member').first
我想获得一条记录,在meta_key 中具有"roles" 的条件和 在meta_value 中的["member"] 但结果总是,看起来我使用的是or 子句而不是and子句
#<Core::User _id: BSON::ObjectId('5b961b07eea19009d397cfaf'), core_user_meta: [{"_id"=>BSON::ObjectId('5b961b07eea19009d397cfb0'), "meta_key"=>"nickname", "meta_value"=>"member"}, {"_id"=>BSON::ObjectId('5b961b07eea19009d397cfbb'), "meta_key"=>"roles", "meta_value"=>["subscriber"]}]>
【问题讨论】:
标签: ruby-on-rails mongoid