Operator MongoDB terdekat dengan yang Anda cari adalah $or
, tapi itu tidak sama dengan SQL UNION yang menggabungkan dua kueri terpisah menjadi satu hasil. Kueri MongoDB selalu menentang satu koleksi, tetapi $or
memungkinkan Anda memiliki beberapa klausa kueri.
Misalnya:
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}
)
Karena Anda dibatasi untuk mengkueri satu koleksi, hasilnya sudah tidak diduplikasi di tingkat dokumen dan semua hasil akan berbagi urutan pengurutan yang sama jika ada yang ditentukan.
Jika Anda ingin mensimulasikan UNION (atau operasi lain yang bekerja dengan banyak koleksi/kueri) di MongoDB, Anda harus menulis beberapa kueri dan menggabungkan kumpulan hasil dalam kode aplikasi Anda.