MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment construire une requête conditionnelle dans Mongoose ?

Vous n'avez pas besoin d'appeler Query#where à plusieurs reprises, puisque vous pouvez passer toutes les conditions à Mongoose Model#find comme :

var filteredQuery = {},
  acceptableFields = ['gender', 'race', /* etc */ ];

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

var query = Character.find(filteredQuery);

Vous voudrez également désinfecter req.query en fonction des paramètres autorisés que vous avez en tête.