MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Tentando encontrar com $ regex vários campos ao mesmo tempo no Mongodb


Isso ocorre porque a maneira como você escreveu a consulta, o que significa que ela deve corresponder ao regex fornecido query com todos os parâmetros passados ​​como a operação and(&&). O que você pode fazer é fazer e or(||) operação com todos os campos obrigatórios.

Aqui o código de exemplo que você pode tentar.
db.users.find({
    "$or": [
        { name: { '$regex': query, '$options': 'i' } },
        { ref: { '$regex': query, '$options': 'i' } }
    ]
}).then((users) => {
    res.json(users);
});