Để lấy danh sách 10 bản ghi trong MongoDB và sắp xếp chúng theo thứ tự ngẫu nhiên, chúng ta có thể sử dụng câu lệnh mongo shell dưới đây:
db.posts.aggregate([
{ $sample : { size: 10 } }
])

Nếu các bạn muốn filter (where) theo một điệu kiện nhất định. VD: column site = ‘vinasupport.com‘ thì dùng lệnh mongo shell sau đây.
db.posts.aggregate([
{ $match : { site: 'vinasupport.com' } },
{ $sample : { size: 10 } }
])
Nếu bạn đang làm việc với PHP Laravel và sử dụng MongoDB, dưới đây là một đoạn mã mà bạn có thể tham khảo:
Post::raw(
function($collection)
{
return $collection->aggregate([
// Filter by site
['$match' => ['site' => 'vinasupport.com'],
['$sample' => ['size' => 10]]
]);
}
);