簡體   English   中英

新用戶未使用 Angular 保存在 Firebase 中

[英]New User not saved in Firebase using Angular

我在 angular 工作,想在 Firebase 中添加新用戶,一切正常,沒有任何錯誤,但是當我打開 firebase 數據庫時,它沒有顯示任何數據並在控制台中顯示錯誤

FIREBASE 警告:設置在 /users/zJJNe15WyDW0TYh5L2khIp9BeH62 失敗:permission_denied

更改規則后allow read, write: if true; 然后錯誤更改為

未捕獲的錯誤:網絡錯誤

空的 Firebase 數據庫

這是我想添加新用戶的服務

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM