Il $or
l'operatore si aspetta condizioni intere, quindi la forma corretta sarebbe:
db.users.find({ "$or": [
{ "name": { "$regex": "^Da"} },
{ "name": { "$regex": "^Ali" }}
]})
O ovviamente usando $in
:
db.users.find({ "name": { "$in": [/^Da/,/^Ali/] } })
Ma è una regex quindi puoi fare:
db.users.find({ "name": { "$regex": "^Da|^Ali" } })