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

Combinando $regex e $or operadores no Mongo


O $or operador espera condições inteiras, então a forma correta seria:
db.users.find({ "$or": [
    { "name": { "$regex": "^Da"} }, 
    { "name": { "$regex": "^Ali" }}
]})

Ou, claro, usando $in :
db.users.find({ "name": { "$in": [/^Da/,/^Ali/] } })

Mas é um regex, então você pode fazer:
db.users.find({ "name": { "$regex": "^Da|^Ali" } })