Hay un subcampo llamado 'nombre' en MongoDB Collection (Usuario):
[ { "teacher": { "name": "Alex", "email": "alex@domain.com" }, "waiter": { "name": "Feliks", "email": "feliks@domain.com" }, "pilot": [ { "name": "Sam", "email": "sam@domain.com" }, { "name": "alice", "email": "alice@domain.com" } ], }, { "teacher": { "name": "max", "email": "max@domain.com" }, "waiter": { "name": "Sam", "email": "sam@domain.com" }, "pilot": [ { "name": "richard", "email": "richard@domain.com" }, { "name": "alice", "email": "alice@domain.com" } ], } ]¿Cómo puedo encontrar datos basados en el campo 'nombre'? Por ejemplo, cuando estoy buscando a 'Sam', debería devolverme todos los documentos ya que 'Sam' está en "mesero" y "piloto" en el primer y segundo documento respectivamente.
No puedo hacer algo como:
User.find({"teacher.name": "Sam", "waiter.name": "Sam", "pilot.name": "Sam" })Esto no me devolverá nada ya que es una lógica AND. Lo que necesito es una lógica OR.