Булево (Boolean)
Поле типа Булево используется для хранения логических значений: истина (true) или ложь (false).
Основные характеристики
- Тип данных: Логическое значение (boolean)
- Возможные значения:
true,false,null(если поле не обязательное) - Отображение: Чекбокс, переключатель (toggle), иконка
Варианты отображения
Чекбокс
Стандартный флажок для включения/выключения опции.
Переключатель (Toggle)
Современный UI-элемент в виде переключателя.
Иконка
Отображение статуса в виде иконки (✓ / ✗, 👁 / 👁🗨).
Настройки поля
При создании поля типа "Булево" доступны следующие настройки:
- Название поля: Отображаемое имя поля
- Системное имя: Уникальный идентификатор для API
- Описание: Подсказка для пользователей
- Значение по умолчанию:
true,falseили не задано - Стиль отображения: Чекбокс, переключатель, иконка
Примеры использования
Активность записи
{
"name": "is_active",
"type": "boolean",
"default": true
}
Публикация статьи
{
"name": "is_published",
"type": "boolean",
"default": false
}
Подтверждение email
{
"name": "email_verified",
"type": "boolean",
"default": false
}
Наличие на складе
{
"name": "in_stock",
"type": "boolean",
"default": true
}
Работа через API
Создание записи
const record = await emd.database.collection('products').create({
name: 'Ноутбук Dell XPS 15',
is_active: true,
is_published: false,
in_stock: true
});
Поиск по булевому полю
// Найти все активные записи
const activeRecords = await emd.database.collection('products').find({
is_active: true
});
// Найти все неопубликованные записи
const drafts = await emd.database.collection('articles').find({
is_published: false
});
Обновление значения
// Опубликовать статью
await emd.database.collection('articles').update(recordId, {
is_published: true
});
// Деактивировать товар
await emd.database.collection('products').update(recordId, {
is_active: false
});
Переключение значения
// Получить текущее значение и инвертировать его
const record = await emd.database.collection('products').get(recordId);
await emd.database.collection('products').update(recordId, {
is_active: !record.is_active
});
Операторы для булевых полей
$eq— равно (trueилиfalse)$ne— не равно$exists— проверка наличия значения
Типичные сценарии использования
Флаги состояния
is_active— активность записиis_deleted— мягкое удалениеis_featured— избранное/рекомендуемоеis_new— новинка
Права и разрешения
can_edit— возможность редактированияcan_delete— возможность удаленияis_admin— административные права
Статусы верификации
email_verified— подтвержден emailphone_verified— подтвержден телефонis_verified— верифицированный пользователь
Настройки и опции
notifications_enabled— включены уведомленияis_public— публичная видимостьauto_renew— автоматическое продление
Рекомендации
- Используйте понятные названия полей с префиксами
is_,has_,can_ - Устанавливайте значение по умолчанию для обязательных полей
- Для сложных статусов используйте тип Список вместо множества булевых полей
- Избегайте двойного отрицания в названиях (например,
is_not_active) - Документируйте значение
trueиfalseдля каждого поля
Отличие от других типов
- Boolean vs Select: Используйте Boolean для бинарных состояний, Select — для множественного выбора
- Boolean vs Number: Boolean для логики (да/нет), Number для количественных значений (0/1/2/...)