HeapTableRepo.findOneBy
Возвращает первый heap-объект из выборки с заданной фильтрацией.
Этот метод является синтаксическим сахаром для findBy для случаев, когда разработчик ожидает, что выборка по данному условию должна вернуть одну запись (или ни одной) с точки зрения бизнес-логики и ему удобно дальше работать с ней как с одной записью.
Если фильтрация не задана, то возвращаются все записи таблицы.
Применение/сигнатура
table.findOneBy(ctx, where)
-
Аргументы
- ctx*:
app.Ctx
Контекст запроса. Используется для внутренней реализации, а также позволяет выполнить запрос в нужной транзакции. - fields:
HeapFilter
Объект с условием фильтрации на специальном языке.
- ctx*:
-
Возвращаемое значение:
Promise<HeapObject | null>- Первый heap-объект из выборки, либо
null, если выборка оказалась пустая.
- Первый heap-объект из выборки, либо
Примеры
Поиск профиля пользователя по переданному идентификатору пользователя.
const UserProfiles = Heap.Table('profiles', {
userId: Heap.Integer(),
role: Heap.String(),
})
const userProfile = await UserProfiles.findOneBy(ctx, {
userId: req.params.userId,
})
if (userProfile === null) {
throw 'user not found!'
}
