Firebase firestore авторизация обратного вызова Необработанный отказ (ошибка FirebaseError): Нет документа для обновления:

# #firebase #google-cloud-firestore #firebase-authentication #google-cloud-functions

Вопрос:

У меня есть электронная почта, аутентификация Google и Facebook в Firebase, и я хочу создать записи Firestore о пользователях, которые входят в систему с помощью Google или Facebook.

Мой код выглядит следующим образом:

 exports.onUserCreate = functions.auth.user().onCreate(async (user) => {
  if (user.providerId !== 'password') {
    console.log('onusercreate start')
    await admin.firestore().collection('users').doc(user.uid).set({
      email: user.email,
      photoURL: user.photoURL,
      user_name: '',
      full_name: user.displayName,
      phone_number: '',
      uid: user.uid,
      friends_count: 0,
      posts: 0,
      fcm_token: '',
      chats_initiated: [],
      rank: 'Goon',
      rah_points: 0,
      last_seen: '',
      push_notification_settings: 'ON',
    })
  }
})
 

Этот код выдает следующую ошибку в консоли:

 Unhandled Rejection (FirebaseError): No document to update: projects/teambeforeself-b1c79/databases/(default)/documents/users/oe7d4MMaTyQ6kNDxuEdqGeamLeQ2
 

ошибка консоли

Пользователь аутентификации создается с помощью входа в Google, но документ Firestore не создается.

Журналы в облачных функциях Firebase выглядят следующим образом:

 2:58:51.762 pm onUserCreate Function execution started
2:58:52.116 pm onUserCreate onusercreate start
2:58:53.454 pm onUserCreate Function execution took 1693 ms, finished with status: 'ok'
 

Комментарии:

1. Откуда у вас эта ошибка? Журналы показывают, что функции завершены ok . Ошибка имела бы смысл, если бы вы использовали updated вместо set этого . Ошибка возникает обычно, если вы пытаетесь обновить документ, которого не существует. Этого не должно происходить при использовании set .

2. Я получаю ошибку в браузере. Я использую react

3. Необработанный отказ (ошибка FirebaseError): Нет документа для обновления: проекты/teambeforeself-b1c79/базы данных/(по умолчанию)/документы/пользователи/FiY0BPz76bUqMP81XEdosemiBe33

4. Можете ли вы, пожалуйста, сделать скриншот ошибки. Обычно вы не получаете ошибок функции clout в своем браузере рядом с журналами в консоли Firebase.

5. Теперь в консоли появляется ошибка: ibb.co/KNngsQf