Skip to content

Instantly share code, notes, and snippets.

@ianrodrigues
Created May 28, 2016 14:17
Show Gist options
  • Save ianrodrigues/f8eaca0ff2e91c09db2416830e1b3584 to your computer and use it in GitHub Desktop.
Save ianrodrigues/f8eaca0ff2e91c09db2416830e1b3584 to your computer and use it in GitHub Desktop.
var mongoose = require('mongoose');
var ObjectId = require('mongoose').Types.ObjectId;
// um array simples, como 3 objetos
var recipients = [
{ email: "user1@email.com" },
{ email: "user2@email.com" },
{ email: "user3@email.com" }
];
// filtrando o array recipients
var filtered = recipients.filter(function(element) {
// verifico se em uma determinada collection List,
// existe na propriedade 'recipients' algum objeto
// como a propriedade 'email' igual ao email do elemento atual
var criteria = {
_id: ObjectId("57499e250373d215021d3ad1"),
"recipients.email": element.email
}
Lists.count(criteria).then(function(count) {
// até aqui ele retorna tudo direitinho
// quando o e-mail já existe, count vem com 1
// quando o e-mail não existe, count vem com 0
// count deve ser menor ou igual a zero, para que o array filtrado
// contenha apenas os e-mails que NÃO existem na collection
return (count <= 0);
});
});
// quando tento dar console.log aqui
// sempre me retorna um array vazio
// creio que ele tenta exibir isso aqui, sem ter terminado a etapa anterior
console.log(filtered);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment