【问题标题】:New User not saved in Firebase using Angular新用户未使用 Angular 保存在 Firebase
【发布时间】:2019-07-21 13:42:06
【问题描述】:

我正在使用 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 中保存新用户。

【问题讨论】:

    标签: angular firebase general-network-error


    【解决方案1】:

    您应该使用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
        });
      }
    

    编辑:您似乎遇到了“未捕获的错误:网络错误”。这可以通过关注这个问题来解决 - Uncaught Error: A network error

    【讨论】:

    • @Raza 您在控制台中看到任何错误吗?您是否为该路径正确设置了规则以允许 write?
    • 是的,我更改了 Firebase 数据库的规则(允许读取,写入:如果为真;)但仍然无法正常工作并显示错误未捕获错误:网络错误
    • 谢谢老兄,现在我可以在 firebase 中添加新用户了
    • @Raza 酷。我已将额外信息添加到答案中。
    猜你喜欢
    • 2016-12-07
    • 2016-12-16
    • 2020-08-01
    • 2017-04-26
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多