Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mongoose - filtro por data

Olá, Tenho a minha collection de usuários:

var userSchema = mongoose.Schema({

    name: {type: String, required: true},
    email: {type: String, required: true},
    phone: {type: String, default:''},  
    group: {type: schema.Types.ObjectId, ref: 'Group',required: true},
    company: {type: schema.Types.ObjectId, ref: 'Company'},
    notifications: [{
      text:{type: String, required:true},
      link:{type: String, required:true},
      seen:{type: Boolean, default:false}
    }],
    hash: String,
    salt: String
});

E tenho a minha api para buscar o usuário:

    api.findById = function(req, res) {

        if(req.user.user.group.number > 1)
            res.sendStatus(403);

        model.findById(req.params.id)
        .select('_id email group name phone company notifications')
        .populate('group')
        .populate('company')
        .then(function(user) {            
            if (!user){
                res.sendStatus(500);                
            }
            res.json(user);
        }, function(error) {
            console.log(error);
            res.sendStatus(500);
        });
    };

A minha dúvida é: Como faço para quando buscar o usuário, fazer um filtro no array notifications. Por exemplo para pegar somente as notificações da última semana.

1 resposta
solução!

Oi Felipe!

O mongoose não é tão flexível assim, mas nada o impede de buscar o seus dados e realizar o filtro com JavaScript antes de devolvê-lo.