Значение undefined
нельзя записать в RTDB.
Значение undefined
- это то, что вы получаете, когда получаете доступ к свойствам объекта, которые не существуют.
Ваш req.body.name
равно undefined
, поскольку req.body
не имеет свойства name
.
Что печатает ваш закомментированный console.log(workout)
?
Когда вы пишете код, который может привести к записи undefined
в RTDB, вы должны заменить его чем-то другим. В этом сценарии вы можете использовать req.body.name || ''
, чтобы заменить отсутствующее свойство name
пустой строкой.
Как правило, использование ||
может вызвать проблемы, поскольку такие значения, как 0
и ''
эквивалентны false
, поэтому они будут заменены вашим значением по умолчанию.
Более безопасным является value === undefined ? defaultValue : value
.