繁体   English   中英

Firestore android studio 中的 CollectionGroup 查询

[英]CollectionGroup query in firestore android studio

我无法进入 for 循环。 它没有显示任何错误。 当我尝试调试时,它没有进入 for 循环。 进入for循环后,只能检索结果。 有人可以帮忙吗?

Query query =fstore.collectionGroup("ride").whereEqualTo("from",from1).whereEqualTo("to",to1).whereEqualTo("date",date);
query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {

@Override
public void onSuccess(QuerySnapshot snapshots) {
      for (QueryDocumentSnapshot queryDocumentSnapshot:snapshots)
           {                 
              String source = queryDocumentSnapshot.getString("from");
              String destination = ueryDocumentSnapshot.getString("to");
              String date1 = queryDocumentSnapshot.getString("date");
              String time = queryDocumentSnapshot.getString("time");
              String vehicle = queryDocumentSnapshot.getString("vehicle number");
              String cost  = queryDocumentSnapshot.getString("Cost per person");
              String seats = queryDocumentSnapshot.getString("number of seats");
              String model = queryDocumentSnapshot.getString("car model");
              data += source+" "+destination+" "+date1+" "+time+" "+vehicle+" "+cost+" "+seats+" "+model+"\n";
           }
});

在此处输入图片说明

参考资料中,您可能会发现以下句子:

在使用集合组查询之前,您必须创建一个支持集合组查询的索引。 您可以通过错误消息、控制台或 Firebase CLI 创建索引。

从同一个参考示例看来,代码已正确完成。 当然,我们不知道你在from1to1date变量中有什么。 从屏幕截图看来, date在您的数据库中具有奇怪的格式。 同样,我不确定它将如何与多个whereEqualTo方法一起使用。

很多人认为这里可能会出错,但如果我是你的话,我会从检查索引开始,然后从使用单个whereEqualTo构建查询开始,尝试从数据库中获取任何内容,就像在参考示例中一样。

如果你成功了,你可以将它扩展到更复杂的解决方案。

我希望它会有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM