Pregunta

Tengo un modelo de contacto, que tiene modelos de correo electrónico incrustados

Estoy tratando de consultar un registro de contacto, para encontrar todos los contactos que tienen una dirección de correo electrónico donde el 'Email_Type' coincide con una cadena, y la bandera 'cancelarse' no suscrita 'para ese correo electrónico es falso

Mi mejor golpe Hasta ahora es:

Contact.where({"emails.email_type" => 'Work','emails.unsubscribed'  => false})

Pero esto encuentra contactos donde cualquier dirección de correo electrónico si el tipo 'trabajo' o cualquier dirección de correo electrónico se cancelan de suscripción: esto significa que se devuelven demasiados contactos

Lo que necesito hacer es encontrar contactos donde cualquier dirección de correo electrónico si está escribiendo 'trabajo' y esa dirección de correo electrónico también se puede cancelar ... ¿Hay alguna manera de hacer esto?

¿Fue útil?

Solución

Resulta que la sintaxis es bastante simple, si es muy difícil de encontrar ...

Contact.elem_match("emails" =>  { email_type: type, unsubscribed: false })

ELEM_MATCH de http://mongoid.org/en/origin/docs/selection.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top