sql >> Base de Datos >  >> NoSQL >> MongoDB

unión en la misma colección en mongodb

El operador MongoDB más cercano a lo que está buscando es un $or , pero eso no es lo mismo que SQL UNION que combina dos consultas separadas en un solo resultado. Las consultas de MongoDB siempre son contra una sola colección, pero $or le permite tener múltiples cláusulas de consulta.

Por ejemplo:

db.collection.find(
    // Find documents matching any of these values
    {$or:[
        {var1: 123},
        {var2: 456},
        {var3: 789}
    ]}
).sort(
    // Sort in ascending order
    {var1:1, var2:1, var3:1}
)

Dado que está limitado a consultar una sola colección, los resultados ya se eliminarán de los duplicados en el nivel del documento y todos los resultados compartirán el mismo orden de clasificación si se especifica uno.

Si desea simular una UNION (u otra operación que trabaje con varias colecciones/consultas) en MongoDB, deberá escribir varias consultas y fusionar los conjuntos de resultados en el código de su aplicación.