Để 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]] ]); } );