Hanya Versi 2.6+:
Pada MongoDB versi 2.6, ini menjadi jauh lebih mudah. Sekarang Anda dapat melakukan hal berikut untuk menyelesaikan masalah ini:
Persatuan
db.colors.aggregate([
{'$project': {
union:{$setUnion:["$left","$right"]}
}
}
]);
Persimpangan
db.colors.aggregate([
{'$project': {
int:{$setIntersection:["$left","$right"]}
}
}
]);
Pelengkap Relatif
db.colors.aggregate([
{'$project': {
diff:{$setDifference:["$left","$right"]}
}
}
]);
Perbedaan Simetris
db.colors.aggregate([
{'$project': {
diff:{$setUnion:[{$setDifference:["$left","$right"]}, {$setDifference:["$right","$left"]}]}
}
}
]);
Catatan:Ada tiket meminta perbedaan simetris ditambahkan sebagai fitur inti daripada harus melakukan penyatuan dua set perbedaan.