要向Angularfire2用户集合中附加更多数据,可以使用Angularfire2的update()
方法。以下是一个示例解决方案的代码:
首先,确保已经安装了Angularfire2和Firebase。
在组件中导入所需的库和服务:
import { Component } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore } from '@angular/fire/firestore';
import { auth } from 'firebase/app';
在组件的构造函数中注入AngularFireAuth
和AngularFirestore
:
constructor(private afAuth: AngularFireAuth, private firestore: AngularFirestore) { }
创建一个方法来附加更多数据到用户集合:
attachUserData() {
this.afAuth.authState.subscribe(user => {
if (user) {
// 在此处添加要附加的更多数据
const userData = {
email: user.email,
displayName: user.displayName,
// 添加其他字段
customField: 'custom data'
};
// 将更多数据添加到用户集合
this.firestore.collection('users').doc(user.uid).update(userData)
.then(() => {
console.log('更多数据已成功添加到用户集合');
})
.catch(error => {
console.log('添加更多数据到用户集合时出错:', error);
});
}
});
}
在组件的模板中添加一个按钮来调用attachUserData()
方法:
现在,当用户点击按钮时,attachUserData()
方法将会将更多数据附加到用户集合中。
请注意,您需要根据自己的数据结构和需求修改上述代码。