Detta beror på att sättet du skrev frågan vilket betyder att den borde matcha det givna regex
fråga med alla passerade parameter som och (&&) operation. Vad du kan göra är att göra och eller(||) operation med alla obligatoriska fält.
Här kan du prova exempelkoden.
db.users.find({
"$or": [
{ name: { '$regex': query, '$options': 'i' } },
{ ref: { '$regex': query, '$options': 'i' } }
]
}).then((users) => {
res.json(users);
});