Создаёт новую запись в heap-таблице.
Переданный объект со значениями валидируется на сооветствие схеме таблицы.
table.create(ctx, fields)
Аргументы
ctx*: app.Ctx
Контекст запроса. Используется для внутренней реализации, а также позволяет выполнить запрос в нужной транзакции.
fields: object
Объект с полями и из значениями, соответствующими схеме таблицы.
Должны присутствовать все поля, объявленные в схеме, кроме тех, которые объявлены с модификаторами: Heap.Optional, Heap.Nullable и Heap.NonRequired. Для вложенных объектов действует то же правило.
Поля, значения которых не переданы, автоматически заполняются значениями по умолчанию, если они есть.
Возвращаемое значение: Promise<HeapObject>
Создание записи с разными типами необязательных полей и вложенным объектом.
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,
},
} */