Я хочу, чтобы в мою пользовательскую коллекцию был добавлен новый документ, который запускается с помощью firebase.auth(), но база данных не заполняется.
Это моя функция firebase:
exports.newUser = functions.auth.user().onCreate((user) => {
return db
.collection("user")
.doc(user.uid)
.create(JSON.parse(JSON.stringify(user)));
});
Это мой метод регистрации:
export const register = (email, password) => dispatch => new Promise((resolve, reject) => {
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(() => {
resolve()
})
.catch(() => {
console.info(typeof (email, password))
reject()
})
})
После выполнения новый пользователь добавляется в Аутентификацию, но не инициирует создание нового документа. Функция newUser успешно развернута в firebase.
Кажется, мой метод анализа пользовательских данных неверен, подскажите, что я упускаю?
Журналы функций:
4:38:51.935 PM outlined_flag
newUser Function execution started 4:38:52.968 PM newUser TypeError: entry.toJSON is not a function 4:38:52.968 PM newUser at /workspace/node_modules/firebase-functions/lib/common/providers/identity.js:113:70 4:38:52.968 PM newUser at Array.map () 4:38:52.968 PM newUser at Object.record.toJSON (/workspace/node_modules/firebase-functions/lib/common/providers/identity.js:113:49) 4:38:52.968 PM newUser at JSON.stringify () 4:38:52.968 PM newUser at /workspace/index.js:10:33 4:38:52.968 PM newUser at cloudFunction (/workspace/node_modules/firebase-functions/lib/cloud-functions.js:135:23) 4:38:52.968 PM newUser at /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/function_wrappers.js:144:25 4:38:52.968 PM newUser at processTicksAndRejections (node:internal/process/task_queues:96:5) 4:38:52.968 PM newUser TypeError: entry.toJSON is not a function 4:38:52.968 PM newUser at /workspace/node_modules/firebase-functions/lib/common/providers/identity.js:113:70 4:38:52.968 PM newUser at Array.map () 4:38:52.968 PM newUser at Object.record.toJSON (/workspace/node_modules/firebase-functions/lib/common/providers/identity.js:113:49) 4:38:52.968 PM newUser at JSON.stringify () more_vert 4:38:52.968 PM newUser at /workspace/index.js:10:33 4:38:52.968 PM newUser at cloudFunction (/workspace/node_modules/firebase-functions/lib/cloud-functions.js:135:23) 4:38:52.968 PM newUser at /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/function_wrappers.js:144:25 4:38:52.968 PM newUser at processTicksAndRejections (node:internal/process/task_queues:96:5) 4:38:52.979 PM outlined_flag
newUser Function execution took 1044 ms. Finished with status: error
У вас есть сообщение об ошибке, которое разбито на множество разных строк, и мы не можем видеть все это на этом снимке экрана. Его необходимо собрать в осмысленное сообщение об ошибке, описывающее проблему.
Спасибо за руководство, и именно поэтому я люблю техническое сообщество. Я редактировал раздел.





ОБНОВИТЬ:
Я попробовал эту функцию, и она выполняет свою работу:
exports.newUser = functions.auth.user().onCreate((user) => {
return db
.collection("user")
.doc(user.uid)
.set({
email: user.email,
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString()
})
});
поджигатель здесь
Насколько я могу судить, эта ошибка была недавно введена в наш SDK для функций. Вы можете проверить его статус в выпуске репозитория Github #1102.
В Stack Overflow, пожалуйста, не показывайте изображения текста и кода. Скопируйте текст в сам вопрос и отформатируйте его так, чтобы он был легко читать, копировать и искать. Вы можете отредактировать вопрос, чтобы исправить это, используя ссылку редактирования внизу.