Облачная функция Firebase для копирования электронной почты пользователя в базу данных - PullRequest
0 голосов
/ 01 марта 2019

Я хотел бы скопировать электронную почту, связанную с каждым пользователем, в коллекцию Firestore («пользователи») с использованием облачных функций.Каждый документ в коллекции имеет UID пользователя в качестве своего имени. У меня есть следующая функция:

const getAllUsers = (req, res) => {

  auth.listUsers().then((userRecords) => {
    userRecords.users.forEach(
        (user) => db.collection('users').doc(user.uid).update({ "email": user.email }) 
        ) 

    res.end('Retrieved users list successfully.');
  }).catch((error) => console.log(error));
};

module.exports = {
  api: functions.https.onRequest(getAllUsers),
};

Я получаю следующую ошибку для неверных данных:

FirebaseError: Function DocumentReference.update() called with invalid data. Unsupported field value: undefined (found in field email)

Есть идеи?

1 Ответ

0 голосов
/ 01 марта 2019

Получил это, преобразовав данные в JSON заранее, вот рабочая функция:

const getAllUsers = (req, res) => {

  auth.listUsers().then((userRecords) => {
    userRecords.users.forEach(
        (user) => 
        function() {
                    let thisUser = user.toJSON();
        db.collection('users').doc(thisUser.uid).update({ "email": thisUser.email }) 
        }
        ) 

    res.end('Retrieved users list successfully.');
  }).catch((error) => console.log(error));
};

module.exports = {
  api: functions.https.onRequest(getAllUsers),
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...