[英]New User not saved in Firebase using Angular
我在 angular 工作,想在 Firebase 中添加新用戶,一切正常,沒有任何錯誤,但是當我打開 firebase 數據庫時,它沒有顯示任何數據並在控制台中顯示錯誤
FIREBASE 警告:設置在 /users/zJJNe15WyDW0TYh5L2khIp9BeH62 失敗:permission_denied
更改規則后allow read, write: if true;
然后錯誤更改為
未捕獲的錯誤:網絡錯誤
這是我想添加新用戶的服務
export class UserService {
constructor(private db : AngularFireDatabase) { }
save(user : firebase.User)
{
this.db.object('/users/' + user.uid).update({
name : user.displayName,
email : user.email
});
}
}
這是這項服務的進口
import { Injectable } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import * as firebase from 'firebase';
這是 app.component
export class AppComponent {
constructor(private userService: UserService ,private auth : AuthService, private router :Router)
{
auth.user$.subscribe(user => {
if (user)
{
userService.save(user);
let returnUrl = localStorage.getItem('returnUrl');
router.navigateByUrl(returnUrl);
}
});
}
}
我使用 firebase 登錄,它可以完美地工作,其他功能也可以正常工作,但在這里它並沒有在 firebase 中保存新用戶。
您應該使用set
創建文檔 - https://firebase.google.com/docs/firestore/manage-data/add-data#add_a_document
您使用update
來更新字段 - https://firebase.google.com/docs/firestore/manage-data/add-data#update-data
嘗試:
save(user : firebase.User)
{
this.db.object('/users/' + user.uid).set({
name : user.displayName,
email : user.email
});
}
編輯:您似乎遇到了“未捕獲的錯誤:網絡錯誤”。 這可以通過以下問題解決 - 未捕獲的錯誤:網絡錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.