sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo construir una consulta condicional en Mongoose?

No necesita llamar a Query#where repetidamente, ya que puede pasar todas las condiciones a 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);

También querrá desinfectar req.query dependiendo de los parámetros permitidos que tenga en mente.