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" } })