HeapTableRepo.deleteAll
Метод deleteAll предназначен для массового удаления записей из таблицы в базе данных. Он принимает контекст записи, а также опции для фильтрации удаляемых записей и управления их количеством.
Применение/сигнатура
table.deleteAll(ctx, options)
Аргументы
-
ctx*:
WriteCtx
Контекст записи, необходимый для выполнения операции. Он используется для управления транзакциями и хранения информации о текущем запросе. -
options:
HsDeleteAllOptions<HSP>- Опции удаления, которые включают:- where?:
HsFilter<HSP> | null | undefined— Условие фильтрации записей, которые будут удалены. Можно указать фильтр для удаления только тех записей, которые соответствуют определённым критериям. - limit:
number | null— Ограничение на количество записей, которые можно удалить. Если указано значениеnull, то ограничение не применяется и удаляются все записи, подходящие под условие where. По умолчанию limit =1, чтобы избежать случайного удаления большего количества записей, чем ожидается. Важно: если количество записей, соответствующих условию where, превышает limit, никакие записи не будут удалены, и произойдет ошибка. - hard?:
boolean— Указывает, будет ли удаление "жёстким" (безвозвратным) или "мягким" (с возможностью восстановления). Значение по умолчанию —false, что означает "мягкое" удаление (например, с установкой флага удаления).
- where?:
-
Возвращаемое значение:
Promise<number>- Возвращает количество удаленных записей
Примеры
const deletedCount = await heapTableRepo.deleteAll(ctx, {
where: { status: 'inactive' },
limit: 10,
hard: true
});
console.log(`Количество удаленных записей: ${deletedCount}`);
