Dimulai dengan rilis 3.2 MongoDB, Anda bisa mendapatkan N dokumen acak dari koleksi menggunakan $sample
operator pipa agregasi:
// Get one random document from the mycoll collection.
db.mycoll.aggregate([{ $sample: { size: 1 } }])
Jika Anda ingin memilih dokumen acak dari subset koleksi yang difilter, tambahkan $match
tahap ke jalur pipa:
// Get one random document matching {a: 10} from the mycoll collection.
db.mycoll.aggregate([
{ $match: { a: 10 } },
{ $sample: { size: 1 } }
])
Seperti yang disebutkan di komentar, ketika size
lebih besar dari 1, mungkin ada duplikat dalam sampel dokumen yang dikembalikan.