无法从 Firebase 实时数据库中检索数据

曼朱约翰

我是角度的初学者。当我尝试使用 AngularFireDatabase 对象检索数据时,我没有获得所需格式的数据

界面:

export interface AppUser {
name: string;
email: string;
isAdmin: boolean;
}

函数调用:

 get appUser$():Observable<AppUser>{
 return this.user$.pipe(
  map(user=> this.userService.get(user.uid)))
}

用户服务.ts

import { Injectable } from '@angular/core';
import {AngularFireDatabase, AngularFireObject} from  angularfire2/database';
import * as firebase from 'firebase';
import {Observable} from 'rxjs/Observable'
import { AppUser } from './models/app-file';
import { AngularFireAuth } from 'angularfire2/auth';
import { map, switchMap } from 'rxjs/operators';

get (uid : string){
let result={};
this.userdetails = this.db.object('/users/'+uid).valueChanges();
return this.userdetails;

}

src/app/auth.service.ts(40,6) 中的错误:错误 TS2322:“Observable>”类型不可分配给“Observable”类型。“Observable”类型缺少“AppUser”类型中的以下属性:姓名、电子邮件、isAdmin

里亚佐萨马

您所有的核心功能,例如,从数据库中获取数据,您的身份验证保护都应该在一个单独的模块中。我习惯称它为核心模块。我写这篇文章是因为你提到你是一个初学者。因此,对于这种情况,请在您的服务文件中执行以下操作:

getDataFromDb(uid) {
 return this.db.object('/users/'+ uid).valueChanges();
}

该方法只是从firebase获取用户节点下的数据。valueChanges()它自己的方法返回一个 observable 类型Observable<any[]>

现在在组件的 ts 文件中,您应该订阅该 observable 并将该值声明为您定义的任何类型或接口。

并在您的 ts 文件中:

export class Component() {

result: AppUser;

 constructor(private service: Service) {}


dataFromService() {
 this.userService.getDataFromDb(user.uid).subscribe((res: any) => {
  this.result = res;
  })
 }
}

您当前在 ts 文件中所做的是您使用的map运算符不会发出值,除非您订阅它。在您的情况下,您甚至不必使用pipe. 仅用于subscribe从可观察对象中获取值。阅读文档以获得更好的理解:https : //github.com/angular/angularfire2/blob/master/docs/rtdb/objects.md

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

Firebase:从实时数据库中检索childByAutoID

来自分类Dev

数据更改后如何从Firebase实时数据库中检索特定数据

来自分类Dev

无法对网络上的多个Firebase实时数据库进行身份验证

来自分类Dev

我无法从Firebase实时数据库中将数据检索到字符串变量中

来自分类Dev

admin.firestore.FieldValue.serverTimestamp()无法与Firebase实时数据库一起使用

来自分类Dev

如果无法从Firebase实时数据库检索数据,则尝试在UITableView上显示消息

来自分类Dev

使用选项从Firebase实时数据库中检索MCQ数据

来自分类Dev

FireBase调度功能无法保存到实时数据库

来自分类Dev

Firebase实时数据库:无法通过时间戳订购数据

来自分类Dev

iOS上的Firebase Realtime:无法访问实时数据库

来自分类Dev

Firebase:以Int形式从实时数据库中检索数据

来自分类Dev

无法将 JSON 对象插入 Firebase 实时数据库

来自分类Dev

无法从 Firebase 数据库检索数据

来自分类Dev

我无法从 Firebase 数据库中检索布尔数据

来自分类Dev

无法在我的 html 文件中初始化 firebase 并将任何数据保存到实时数据库

来自分类Dev

如何从 Firebase 实时数据库正确检索值?

来自分类Dev

Android Firebase - 从 Firebase 实时数据库中检索特定值

来自分类Dev

从 Firebase 实时数据库中检索子数据

来自分类Dev

Firebase 实时数据库中的数据插入无限

来自分类Dev

Firebase 实时数据库,无法检查现有数据的数据库,如果不存在则推送

来自分类Dev

无法将数据从 Firebase 实时数据库检索到 Web 应用程序中

来自分类Dev

无法使用 FIrebase 实时数据库通过他的电子邮件检索好友密钥

来自分类Dev

从 Firebase 实时数据库中检索好友

来自分类Dev

Firebase 实时数据库,从键值对中获取数据

来自分类Dev

列表视图从android中firebase的实时数据库中检索一项

来自分类Dev

无法从 Firebase 实时数据库获取数据

来自分类Dev

Firebase 实时数据库:无法从 Firebase 数据库发送或检索数据

来自分类Dev

从 Firebase(实时数据库)检索数据到列表中(Kotlin)

Related 相关文章

  1. 1

    如何从Firebase中的实时数据库获取数据

  2. 2

    Firebase:从实时数据库中检索childByAutoID

  3. 3

    数据更改后如何从Firebase实时数据库中检索特定数据

  4. 4

    无法对网络上的多个Firebase实时数据库进行身份验证

  5. 5

    我无法从Firebase实时数据库中将数据检索到字符串变量中

  6. 6

    admin.firestore.FieldValue.serverTimestamp()无法与Firebase实时数据库一起使用

  7. 7

    如果无法从Firebase实时数据库检索数据,则尝试在UITableView上显示消息

  8. 8

    使用选项从Firebase实时数据库中检索MCQ数据

  9. 9

    FireBase调度功能无法保存到实时数据库

  10. 10

    Firebase实时数据库:无法通过时间戳订购数据

  11. 11

    iOS上的Firebase Realtime:无法访问实时数据库

  12. 12

    Firebase:以Int形式从实时数据库中检索数据

  13. 13

    无法将 JSON 对象插入 Firebase 实时数据库

  14. 14

    无法从 Firebase 数据库检索数据

  15. 15

    我无法从 Firebase 数据库中检索布尔数据

  16. 16

    无法在我的 html 文件中初始化 firebase 并将任何数据保存到实时数据库

  17. 17

    如何从 Firebase 实时数据库正确检索值?

  18. 18

    Android Firebase - 从 Firebase 实时数据库中检索特定值

  19. 19

    从 Firebase 实时数据库中检索子数据

  20. 20

    Firebase 实时数据库中的数据插入无限

  21. 21

    Firebase 实时数据库,无法检查现有数据的数据库,如果不存在则推送

  22. 22

    无法将数据从 Firebase 实时数据库检索到 Web 应用程序中

  23. 23

    无法使用 FIrebase 实时数据库通过他的电子邮件检索好友密钥

  24. 24

    从 Firebase 实时数据库中检索好友

  25. 25

    Firebase 实时数据库,从键值对中获取数据

  26. 26

    列表视图从android中firebase的实时数据库中检索一项

  27. 27

    无法从 Firebase 实时数据库获取数据

  28. 28

    Firebase 实时数据库:无法从 Firebase 数据库发送或检索数据

  29. 29

    从 Firebase(实时数据库)检索数据到列表中(Kotlin)

热门标签

归档