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

Der Versuch, mit $regex mehrere Felder gleichzeitig in Mongodb zu finden

Dies liegt daran, wie Sie die Abfrage geschrieben haben, was bedeutet, dass sie mit dem angegebenen regex übereinstimmen sollte Abfrage mit allen übergebenen Parametern wie and(&&) Operation. Was Sie tun könnten, ist die Operation and or (||) mit allen erforderlichen Feldern.

Hier der Beispielcode, den Sie ausprobieren können.

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