我希望能够使用实时数据库(RTD)条目中的单个值。使用Firestore,我可以使用以下代码:

interface Led{
  currentState: boolean,
  lightSensor: number
}

currentState: boolean;
lightSensor: number;

this.afs.collection('Led').valueChanges().subscribe((Led: any) => {
  this.lightSensor = Led[0].lightSensor;
  this.currentState = Led[0].currentState;
})

然后,我可以将currentState或lightSensor调用为HTML并显示值。我可以找到的所有RTD示例都使用ngFor并显示JSON数据,我不知道如何从该数据中获取单个值。我尝试了以下内容,这些内容基本上是从Firestore代码复制而来的:
this.db.list('leafBox001').valueChanges().subscribe((Led: any) => {
  this.currentState = Led[0].currentState;
  console.log(this.currentState);
});

控制台日志返回 undefined 。

最佳答案

您可以通过键获取对象:

this.db.object(`leafBox001/${id}`).valueChanges()

关于angular - 从Firebase实时数据库(Angularfire 5和Ionic 3)中检索单个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50964626/

10-08 21:40