android - Firestore whereEqualsTo 来自 arraylist

标签 android firebase google-cloud-firestore

我正在尝试列出与 ArrayList 中的字段字符串值相匹配的文档。

简单地:

  • 我有带有在运行时存储的标签的 ArrayList
  • 和带有字段标签
  • 的文档

我想查询与存储在 ArrayList 中的标签之一相匹配的文档。这可以通过官方查询实现,还是我必须下载所有文档并在客户端进行过滤?感谢您的回答。

此外,这是我生成查询的方法:

public static Query getQueryForFollowed(DocumentSnapshot snapshots) {
    if (snapshots == null || !snapshots.exists()) {
        return FirebaseFirestore.getInstance().collection("posts").whereEqualTo("null", "null"); // return query that will get nothing
    }
    ArrayList<String> f = processFollowedTags(snapshots);
    Query query = FirebaseFirestore.getInstance()
            .collection("posts")
            .whereEqualTo("tag", f.get(0));
    for (int i = 1; i < f.size(); i++) {
        query = query.whereEqualTo("tag", f.get(i));
    }
    return query;
}

我已调试代码,查询已包含请求的条件,但查询未找到任何匹配它的文档。

最佳答案

试试这个

Query query = FirebaseFirestore.getInstance()
            .collection("posts")
            .whereEqualTo("tag", f.get(0)).orderBy("tag", Query.Direction.ASCENDING);;       

关于android - Firestore whereEqualsTo 来自 arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51104856/

相关文章:

android - android.widget.ExpandableListView 中的分组指示器

java - Dagger 2.10 : Subcomponent + Custom scope = "cannot be provided without an @Inject constructor or from an @Provides- or @Produces-annotated method"

node.js - 将 .limit() 与 Firestore 查询结合使用

android - FirestoreRecyclerAdapter 不调用 onCreateViewHolder

android - 为 PinterestLikeAdapterView 调用 notifyDataSetChanged() 时如何避免刷新单元格?

Android fragment 退出动画不触发

firebase - 如何将数据从 Firebase Crashlytics 导出到另一个应用程序?

javascript - 更新后的 Firebase-Functions 错误。我能做些什么?

reactjs - Firebase 云消息传递在窗口焦点之外时不显示通知

javascript - 如何将以前的时间戳保存到 Firebase FireStore