De MongoDB-operator die het dichtst in de buurt komt van wat u zoekt, is een $or
, maar dat is niet helemaal hetzelfde als een SQL UNION die twee afzonderlijke query's in één resultaat combineert. MongoDB-query's zijn altijd gericht tegen een enkele verzameling, maar $or
stelt u in staat om meerdere query-clausules te hebben.
Bijvoorbeeld:
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}
)
Aangezien u beperkt bent tot het opvragen van een enkele verzameling, worden de resultaten al gededupliceerd op documentniveau en zullen alle resultaten dezelfde sorteervolgorde hebben als er een is opgegeven.
Als u een UNION (of een andere bewerking die met meerdere verzamelingen/query's werkt) in MongoDB wilt simuleren, moet u meerdere query's schrijven en de resultatensets samenvoegen in uw toepassingscode.