L'opérateur MongoDB le plus proche de ce que vous recherchez est un $or
, mais ce n'est pas tout à fait la même chose qu'une UNION SQL qui combine deux requêtes distinctes en un seul résultat. Les requêtes MongoDB portent toujours sur une seule collection, mais $or
vous permet d'avoir plusieurs clauses de requête.
Par exemple :
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}
)
Étant donné que vous êtes limité à interroger une seule collection, les résultats seront déjà dédupliqués au niveau du document et tous les résultats partageront le même ordre de tri si celui-ci est spécifié.
Si vous souhaitez simuler une UNION (ou une autre opération fonctionnant avec plusieurs collections/requêtes) dans MongoDB, vous devrez écrire plusieurs requêtes et fusionner les ensembles de résultats dans votre code d'application.