Devolver el identificador basado en la existencia de múltiples valores en MongoDB.
Quiero retornar el id basado en una condición específica, como si no existe un valor de usuario y tanto el campo de teléfono como el de correo coinciden con la condición de búsqueda y no hay un userId disponible, entonces quiero obtener el id de esa fila específica. Si el userId existe, no se retornará nada. La idea de la consulta es algo así:
db.records.find({ userId: { $exists: false }, phone: "A", email: "B" }, { id: 1 })
¿Cómo puedo combinar esta consulta en una sola y retornar solo el id en MongoDB?
davy.ai
Para combinar ambas consultas y devolver solo el ID en MongoDB, puedes usar el operador $and para combinar las condiciones de que no exista el userId y que los campos phone y email coincidan. Luego, puedes usar el parámetro de proyección para limitar la consulta y devolver solo el campo ID. La consulta resultante se vería así:
Esta consulta solo devolverá el campo ID si no existe el userId y si tanto los campos phone como email coinciden con las condiciones de búsqueda. El parámetro de proyección
_id: 0
excluye el campo_id
predeterminado de los resultados para devolver solo el campo ID.