有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在查询中使用Firestore多个日期相等时不返回文档

因此,我很难让以下查询正常工作:

firebaseFirestore.collection("kids")
            .document(documentID)
            .collection("books")
            .whereEqualTo("accountID", accountID)
            .whereEqualTo("checkoutDate", epochDate)
            .whereGreaterThanOrEqualTo("checkoutDate", firstDayThisWeekDate)
            .orderBy("checkoutDate")
            .orderBy("startTime", Query.Direction.ASCENDING)
            .orderBy("lengthOfTime", Query.Direction.DESCENDING);

epochDate是一个日期对象,设置为1970年1月1日 firstDayThisWeekDate是一个日期对象,它引用本周第一天(星期日)的日历日期

如果我只有两个checkoutDate等式中的一个,那么查询就会起作用。但是如果我把两者结合起来,我得到的结果是零。我错过了什么

这管用

firebaseFirestore.collection("kids")
            .document(documentID)
            .collection("books")
            .whereEqualTo("accountID", accountID)
            .whereEqualTo("checkoutDate", epochDate)
            .orderBy("checkoutDate")
            .orderBy("startTime", Query.Direction.ASCENDING)
            .orderBy("lengthOfTime", Query.Direction.DESCENDING);

这管用

firebaseFirestore.collection("kids")
            .document(documentID)
            .collection("books")
            .whereEqualTo("accountID", accountID)
            .whereGreaterThanOrEqualTo("checkoutDate", firstDayThisWeekDate)
            .orderBy("checkoutDate")
            .orderBy("startTime", Query.Direction.ASCENDING)
            .orderBy("lengthOfTime", Query.Direction.DESCENDING);

以下是我为图书文档准备的场景。 如果字段“repeats”为true,则签出日期将始终为epochDate 如果字段“repeats”为false,则日期将大于epochDate

我的目标是能够抓取epochDate文档和任何日期在本周第一天或之后的文档

我正努力在一个查询中完成这一点,我想我能做到。我就是不能接受这两个日期的比较。看起来医生说你可以

任何帮助都将不胜感激


共 (0) 个答案