El $or
el operador espera condiciones completas, por lo que la forma correcta sería:
db.users.find({ "$or": [
{ "name": { "$regex": "^Da"} },
{ "name": { "$regex": "^Ali" }}
]})
O, por supuesto, usando $in
:
db.users.find({ "name": { "$in": [/^Da/,/^Ali/] } })
Pero es una expresión regular, así que puedes hacer:
db.users.find({ "name": { "$regex": "^Da|^Ali" } })