Как расширить firebase.User с помощью пользовательского интерфейса или передать пользовательские значения в коллекцию firebase в angularfire2? - PullRequest
0 голосов
/ 09 июня 2019

Кто-нибудь знает хороший способ вставить некоторые пользовательские поля для firebase.User, работая с angularfire2? Я пытаюсь сделать это (пользователь здесь является объектом firebase.User) после входа в систему я передаю объект, и я также устанавливаю свои собственные точки свойства

user.points = 1
db.collection('users').add(JSON.parse(JSON.stringify(user))); 

однако пользовательский объект, похоже, не берет мои пользовательские поля / значения (точки) из моего расширенного интерфейса. Кажется, происходит какое-то волшебство сериализации, но я не могу понять, что делать.

export interface User extends firebase.User {
    points?: number;
}

Я ожидаю, что мое свойство "points" будет добавлено в мою коллекцию "users" из firebase, а также в другие поля, которые будут вставлены. Я имею в виду, что вы многое получаете от этого пользовательского объекта, такого как displayName, но не от моего собственного материала.

Обновление: я использую этот обходной путь, пока не выясню его, используя обновление в документе Firebase.

this.db.collection('users').add(JSON.parse(JSON.stringify(user))).then(u => u.update({points: 999}));
...