Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从firebase数据库获取基于值的数据_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 如何从firebase数据库获取基于值的数据

Java 如何从firebase数据库获取基于值的数据,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试图在结构化数据的子“状态”中获取基于“付款”的数据 我用过这个 salesRef = FirebaseDatabase.getInstance().getReference() .child("Orders") .orderByKey().startAt("Payments").endAt("Payments"+"\uf8ff"); 但我什么也没得到,怎么了?我应该使用什么?您需要执行以下操作: salesRef = Fir

我试图在结构化数据的子“状态”中获取基于“付款”的数据

我用过这个

salesRef = FirebaseDatabase.getInstance().getReference()
                .child("Orders")
                .orderByKey().startAt("Payments").endAt("Payments"+"\uf8ff");

但我什么也没得到,怎么了?我应该使用什么?

您需要执行以下操作:

salesRef = FirebaseDatabase.getInstance().getReference().child("Orders").orderByChild("state").equalTo("Waiting Payments Config");
orderByChild
将属性的名称作为参数,
equalTo
将该属性的值作为参数

检查文档:

您是按键订购的(089630116543等),然后说您需要从“Payments”开始到“Payments\uf8ff”结束的键。没有任何这样的键,这就是为什么你没有得到任何结果

我自己还没有使用Firebase实时数据库(只是Firestore,来自C#,虽然相关但不完全相同)。我怀疑如果您将
orderByKey()
更改为
orderByChild(“state”)
,将解决此问题:

salesRef=FirebaseDatabase.getInstance().getReference()
.儿童(“命令”)
.orderByChild(“州”).startAt(“付款”).endAt(“付款”\uf8ff”);

请注意,这将找不到状态为“Waiting Payments Config”的值,因为它不是以Payments开头的。如果你真的想要一个“包含”类型的查询,那可能会更棘手(或者不可行,我不确定)。

@FrankvanPuffelen:不确定你所说的
-L…
是什么意思,但我会删除“其他选项”部分。