O operador MongoDB mais próximo do que você está procurando é um
$or
, mas isso não é exatamente o mesmo que um SQL UNION que combina duas consultas separadas em um único resultado. As consultas do MongoDB são sempre em uma única coleção, mas $or
permite que você tenha várias cláusulas de consulta. Por exemplo:
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}
)
Como você está limitado a consultar uma única coleção, os resultados já serão desduplicados no nível do documento e todos os resultados compartilharão a mesma ordem de classificação se uma for especificada.
Se você quiser simular um UNION (ou outra operação trabalhando com várias coleções/consultas) no MongoDB, você terá que escrever várias consultas e mesclar os conjuntos de resultados no código do aplicativo.