我有一个Contact模型,它嵌入了电子邮件模型
我正在尝试查询联系人记录,查找所有具有电子邮件地址的联系人,其中'email_type'与字符串匹配,并且该电子邮件的'unsubscribed'标志为false
到目前为止我的最佳成绩是:
Contact.where({"emails.email_type" => 'Work','emails.unsubscribed' => false})
但是,如果输入“工作”或任何电子邮件地址的任何电子邮件地址已取消订阅,则会查找“联系人” - 这意味着会返回太多联系人
我需要做的是找到联系人,其中任何电子邮件地址,如果是“工作”和 电子邮件地址也取消订阅...是否有办法执行此操作?
答案 0 :(得分:1)
结果语法非常简单,如果很难找到......
Contact.elem_match("emails" => { email_type: type, unsubscribed: false })
来自http://mongoid.org/en/origin/docs/selection.html 的elem_match