HeapTableRepo.create
Создаёт новую запись в heap-таблице.
Переданный объект со значениями валидируется на сооветствие схеме таблицы.
Применение/сигнатура
table.create(ctx, fields)
-
Аргументы
-
ctx*:
app.Ctx
Контекст запроса. Используется для внутренней реализации, а также позволяет выполнить запрос в нужной транзакции. -
fields:
object
Объект с полями и из значениями, соответствующими схеме таблицы.Должны присутствовать все поля, объявленные в схеме, кроме тех, которые объявлены с модификаторами: Heap.Optional, Heap.Nullable и Heap.NonRequired. Для вложенных объектов действует то же правило.
Поля, значения которых не переданы, автоматически заполняются значениями по умолчанию, если они есть.
-
-
Возвращаемое значение:
Promise<HeapObject>- Только что созданный heap-объект.
Примеры
Создание записи с разными типами необязательных полей и вложенным объектом.
const Tasks = Heap.Table('tasks', {
title: Heap.String(),
priority: Heap.NonRequired(Heap.Integer(), 3),
project: Heap.Nullable(Heap.RefLink('projects')),
due: Heap.Optional(Heap.DateTime()),
customerInfo: Heap.Optional(Heap.Object({
name: Heap.String(),
email: Heap.Nullable(Heap.String({ format: 'email' })),
})),
})
const newTask = await Tasks.create(ctx, {
title: 'Позвонить клиенту',
customerInfo: {,
name: 'Иван Петров',
},
})
/* {
title: 'Позвонить клиенту',
priority: 3,
project: null,
customerInfo: {,
name: 'Иван Петров',
email: null,
},
} */
