我希望能够使用实时数据库(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);
});
控制台日志返回未定义。
答案 0 :(得分:2)
您可以通过键获取对象:
require_once("../index.php");
答案 1 :(得分:0)
我认为这仅仅是我对语言的不熟悉。这是我在寻找https://stackoverflow.com/a/47877360/9971934
的答案答案 2 :(得分:0)
按照“方法”示例:
getCategory(idCategoria:string) {
this.refCategoria = this.db.list('categorias',
ref => ref.orderByChild('id').equalTo(idCategoria));
this.refCategoria.valueChanges().subscribe(
(datas) => { console.log("datas", datas) }
);
}
这是过滤器:
ref.orderByChild('id').equalTo(idCategoria))
我集合中的'id'=>字段用于索引数据。 'idCategoria'=>这是我的RTDB中注册表的“ id”。