Ionic + Firebase - 如何在UID之后检索数据

时间:2018-02-11 17:38:33

标签: javascript firebase firebase-realtime-database ionic3

考虑到已注册用户的UID(使用电子邮件/密码方法),我在Firebase Database中创建了个人资料(补充信息)。所以,该计划看起来像这样:

enter image description here

当我需要将数据访问限制为仅生成它们的相应用户时,它正常工作。 但现在我有一个匿名用户,他需要阅读这些数据,但我无法获得密钥的值" nome"," latitude","经度"等 我的困难是将第一个节点(即UID)插入匿名查询路径。

这是我尝试执行的代码段:

import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Component } from '@angular/core';
import { NavController, IonicPage } from 'ionic-angular';
import { Observable } from 'rxjs/Observable';

import { Perfil } from '../../models/perfil';


@IonicPage()
@Component({
  selector: 'page-map',
  templateUrl: 'map.html',
})
export class MapPage {

  $key: any;
  $userId: string;
  perfilList: Observable<any[]>;

  constructor(public navCtrl: NavController, db: AngularFireDatabase) {

    this.perfilList = db.list("/perfil/" + this.$userId).valueChanges(); // => Here is my problem!
  }

这是Perfil课程:

export interface Perfil{
    $userId?: string;
    $key?: string;
    nome: string;
    categoria : string;
    endereco: string;
    latitude: string;
    longitude:string;
    file: string;
    descricao: string;
}

此代码没有显示错误,但也没有以map.html方式返回任何内容:

<ion-item *ngFor = "let p of perfilList | async">
  {{p.nome}}
</ ion-item>

0 个答案:

没有答案