新用户未使用 Angular 保存在 Firebase 中
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
});
}
编辑:看来您正在经历"Uncaught Error: Network Error"。这可以通过以下问题解决 - Uncaught Error: A network error
我在 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
});
}
编辑:看来您正在经历"Uncaught Error: Network Error"。这可以通过以下问题解决 - Uncaught Error: A network error