MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie erstelle ich eine bedingte Abfrage in Mongoose?

Sie müssen Query#where nicht aufrufen wiederholt, da Sie alle Bedingungen an Mongoose Model#find übergeben können als:

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

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

var query = Character.find(filteredQuery);

Sie sollten auch req.query bereinigen abhängig von den zulässigen Parametern, die Sie im Sinn haben.