Трябва да филтрирате своята res.query обект първо от недефинирани/празни стойности и след това го предайте на find функция. Ако имате само няколко свойства, можете да използвате if изявление:
const query = req.query;
const conditions = {};
if (query.what) {
conditions.what = query.what;
}
if (query.where) {
conditions.where = query.where;
}
....
Sound.find(conditions, function () {});
Или ако има много свойства, можете да ги итерирате:
const query = req.query;
const conditions = Object.keys(query)
.reduce((result, key) => {
if (query[key]) {
result[key] = query[key];
}
return result;
}, {});
Sound.find(conditions, function () {});
Освен това не бих посъветвал да премахвате свойства от действителната res.query обект - delete res.query.what - защото няма да можете да го използвате в друг междинен софтуер, ако искате.