java - 我正在尝试根据用户选择的日期过滤 firestore 内容。说显示 2 月 14 日的所有数据

标签 java android firebase google-cloud-firestore

我试图让用户选择一个日期,然后点击一个按钮将显示 Firestore 中与该数据相关的所有内容。

这里 mDisplayDate 是一个 DatePicker 对话框,我想显示数据。我已经完成了显示部分,但是 whereEqualTo() 将两个硬编码字符串作为字段和值。

noteBookref.whereEqualTo("Date" , mDisplayDate.toString()).orderBy("Date", Query.Direction.DESCENDING).get(); 

The Database looks like this

最佳答案

I'm trying to filter firestore content on basis on of a date picked by user. Say Display all data for 14th Feb

您将 Date 属性存储为字符串,这是错误的做法。

为了能够根据特定日期查询您的数据库,您的Date 属性应该是Date 类型并且不是 String。要了解如何实现这一点,请查看我在这个 post 中的回答。 .

一旦正确设置了属性,像这样的查询就可以解决问题:

noteBookref.whereEqualTo("Date" , date).orderBy("Date", Query.Direction.DESCENDING).get();

其中 date 是一个 Date 对象,表示您要查找的日期。请记住删除现有数据并添加新数据。

关于java - 我正在尝试根据用户选择的日期过滤 firestore 内容。说显示 2 月 14 日的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54725698/

相关文章:

java - 使用 java-bean 使用套接字共享登录数据有多安全

Java NetBeans GUI 设计 垂直文本对齐

android - 在其他应用程序顶部带有 handle (而不是操作栏)的可拖动抽屉

firebase - 为什么 functions.config() 返回 {}?

java - 为什么每次我们使用 new 关键字创建字符串时 jvm 都会创建新的字符串对象

java - 如何在没有按钮的情况下退出 Activity

java - 如何在 Mac 上的 Android Studio 中修复 FileNotFoundExceptionEntry fileTemplates//code/Google Test Fixture SetUp Method.cc.ft?

android - 在android中自动滚动TextView以将文本显示在 View 中

java - 递增数字作为 Firestore 文档名称?

android - 每当我尝试运行我的 Flutter 应用程序时,都会执行此任务的 "app:transformClassesWithMultidexlistForDebug"