【问题标题】:Set UID as Node Value in Firebase Realtime Database in Angular在 Angular 的 Firebase 实时数据库中将 UID 设置为节点值
【发布时间】:2020-12-07 02:23:06
【问题描述】:

我正在为我的项目使用 FIrebase 实时数据库和 Angular 9。

下面是我的 Firebase DB 的当前结构。

clients
    -M8bGQaBM...
       email:"test@test.com"
       uid:"5gvR...."

我想推送 uid(即“5gvR....”)来代替推送 id(即“-M8bGQaBM...”)。

下面是 service.ts 文件。在这里,data.uid 存储了 uid。

import { Injectable } from "@angular/core";
import { AngularFireDatabase, AngularFireList } from "@angular/fire/database";

import * as moment from "moment";
import { User } from "../models/user";

@Injectable()
export class UserService {
  selectedUser: User = new User();
  users: AngularFireList<User>;

  constructor(private db: AngularFireDatabase) {
    this.getUsers();
  }

  getUsers() {
    this.users = this.db.list("clients");
    return this.users;
  }

  getUserById(id: string) {}

  createUser(data: any) {
    data.location = this.location;
    data.createdOn = moment(new Date()).format("X");
    data.isAdmin = false;
    this.users.push(data);
  }
}

请让我知道我需要在上述 service.ts 文件中进行哪些更改才能实现此目的。

【问题讨论】:

    标签: javascript angular firebase firebase-realtime-database firebase-authentication


    【解决方案1】:

    如果您想将新对象添加到您的实时数据库并且您知道该对象的“id”,请尝试以下操作:

    createUser(): void {
      const data = {
      location: this.location,
      createdOn: moment(new Date()).format("X"),
      isAdmin = false,
     }
     this.db.object('clients/' + userid).update(data);
    }
    

    用于测试目的:

    createUser(): void {
          const data = {[user.uid]: 'Test entry'}
         this.db.object('testobject').update(data);
        }
    

    const msgRef = this.db.database.ref('/').child('clients/' + user.uid);
     msgRef.push().set({
         location: this.location,
         createdOn: moment(new Date()).format("X"),
         isAdmin = false,
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      相关资源
      最近更新 更多