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

Essayer de trouver avec $regex plusieurs champs en même temps dans Mongodb

C'est parce que la façon dont vous avez écrit la requête signifie qu'elle doit correspondre à la regex donnée requête avec tous les paramètres passés comme l'opération and(&&). Ce que vous pouvez faire est de faire une opération and or(||) avec tous les champs obligatoires.

Voici l'exemple de code que vous pouvez essayer.

db.users.find({
    "$or": [
        { name: { '$regex': query, '$options': 'i' } },
        { ref: { '$regex': query, '$options': 'i' } }
    ]
}).then((users) => {
    res.json(users);
});