$densify — это стадия агрегации MongoDB, которая заполняет пробелы в твоих данных, генерируя новые документы для отсутствующих значений в указанном поле. Чаще всего используется с датами или числовыми последовательностями.
При работе с временными рядами или последовательными данными реальные наборы данных часто содержат пропущенные интервалы — например, нет записи о продажах в определённый день. $densify гарантирует, что твои данные содержат равномерно распределённые точки, что делает последующий анализ и визуализацию более надёжными.
Стадия вставляет синтетические документы везде, где значения отсутствуют, на основе заданного шага интервала. Основные параметры конфигурации:
field — поле для уплотнения (например, дата или число)range — определяет step, unit (для дат) и bounds уплотненияpartitionByFields — опционально группирует уплотнение по категориям{
$densify: {
field: "date",
range: {
step: 1,
unit: "day",
bounds: "full"
}
}
}
Это вставляет документ для каждого пропущенного дня в пределах полного диапазона дат набора данных.
$fill$densify доступна начиная с MongoDB 5.1+$fill для заполнения отсутствующих значений полей после уплотненияЭтап $densify автоматически заполняет все отсутствующие поля во вновь созданных документах значениями null для сохранения консистентности структуры данных.
Новый — ещё не проверен сообществом
Вы