Этап $sample в пайплайнах агрегации MongoDB используется для случайного выбора указанного количества документов из коллекции или текущего входа пайплайна.
{ $sample: { size: <number> } }
Параметр size определяет сколько документов вернуть.
db.orders.aggregate([
{ $sample: { size: 5 } }
])
Это возвращает 5 случайно выбранных документов из коллекции orders.
MongoDB использует одну из двух стратегий выбора в зависимости от условий:
size меньше чем 5% от общего количества — это наиболее эффективный путь$sample с малым значением size относительно общего количества документов обычно работает эффективно$sample в начале пайплайна сокращает количество документов, обрабатываемых последующими этапами, что улучшает общую производительностьСтадия $sample использует стратегию выбора случайного курсора, когда в коллекции более 100 документов, фильтры не применяются и запрошенный размер составляет менее 5% от общего количества документов.
Новый — ещё не проверен сообществом
Вы