MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como construir uma consulta condicional no Mongoose?


Você não precisa chamar Query#where repetidamente, pois você pode passar todas as condições para Mongoose Model#find Como:
var filteredQuery = {},
  acceptableFields = ['gender', 'race', /* etc */ ];

acceptableFields.forEach(function(field) {
  req.query[field] && filteredQuery[field] = req.query[field];
});

var query = Character.find(filteredQuery);

Você também vai querer limpar req.query dependendo dos parâmetros permitidos que você tem em mente.