如何从Firebase检索选定的节点?

如何从Firebase检索选定的节点?,第1张

概述这就是我的Firebase数据库的外观.我想访问该节点的accepting-status,例如说patient23.我可以通过分别在accepting-status和Patient23的节点上使用addListenerForSingleValueEvent轻松地做到这一点,但是随后我需要两个不同的请求来获取所需的数据.我还可以通过在父节点信标最后添

这就是我的Firebase数据库的外观.

我想访问该节点的accepting-status,例如说patIEnt23.我可以通过分别在accepting-status和PatIEnt23的节点上使用addListenerForSingleValueEvent轻松地做到这一点,但是随后我需要两个不同的请求来获取所需的数据.我还可以通过在父节点信标最后添加addListenerForSingleValueEvent的单个请求来获取所需的数据,但是那样会检索大量数据,因为患者人数众多.我如何在单个请求中进行 *** 作,但仅检索必需的节点.谢谢.

解决方法:

…but then it would take me two different requests to get the
required data.

Firebase数据库是全部一个JsON对象.如果选择一个部分,则所有内容都将在下面.

但是,Firebase使用WebSockets,它是与服务器的持久连接. This means that you don’t have to worry about making a request,因为唯一的http请求是在最开始建立套接字的.

因此,在您的情况下,对数据进行两个单独的“请求”是完全可行的,因为没有实际的开销要考虑.设备的无线电已经打开,并且WebSocket标头仅为6个字节.

您可以轻松地在/ accepting-status以及/ PatIEnts / PatIEnt23上创建一个侦听器.这是具有多个侦听器的Firebase标准做法.

// Get a root reference Firebase rootRef = new Firebase("<my-firebase-app>");// accepting-status refFirebase statusRef = rootRef.child("accepting-status");// patIEnt23 refFirebase patIEntRef = rootRef.child("patIEnts").child("patIEnt23");// Listen for status updatesstatusRef.addValueEventListener(new ValueEventListener() {    @OverrIDe    public voID onDataChange(DataSnapshot snapshot) {        System.out.println(snapshot.getValue());    }    @OverrIDe    public voID onCancelled(FirebaseError firebaseError) {        // error    }});// Listen for patIEnt updatespatIEntRef.addValueEventListener(new ValueEventListener() {    @OverrIDe    public voID onDataChange(DataSnapshot snapshot) {        System.out.println(snapshot.getValue());    }    @OverrIDe    public voID onCancelled(FirebaseError firebaseError) {        // error    }});

总结

以上是内存溢出为你收集整理的如何从Firebase检索选定的节点?全部内容,希望文章能够帮你解决如何从Firebase检索选定的节点?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1120508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存