Domanda

Ho un modello di contatto, che ha modelli di posta elettronica incorporati

Sto cercando di interrogare un record di contatti, per trovare tutti i contatti che hanno un indirizzo email in cui "Email_type" corrisponde a una stringa e il flag "annullato" per quella email è falsa

Il mio colpo migliore finora è:

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

Ma questo trova contatti in cui qualsiasi indirizzo e-mail se di tipo 'lavoro' o qualsiasi indirizzo e-mail non è iscritto, questo significa che troppi contatti vengono restituiti

Quello che devo fare è trovare contatti in cui qualsiasi indirizzo email se di tipo 'lavoro' e indirizzo email è anche annullato ... C'è un modo per farlo?

È stato utile?

Soluzione

Risulta della sintassi è piuttosto semplice, se molto difficile da trovare ...

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

elem_match da http://mongoid.org/en/origin/docs/selection.HTML

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top