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.