Firestore查询未返回

时间:2018-02-08 11:55:02

标签: android google-cloud-firestore

我有两个微调器,一个带有类别,另一个带有从2个不同的火焰库集合加载其信息动作的物品。

我想为微调器创建一个查询,其中的项目仅显示与相关类别对应的项目

我做了这个

db.collection("List Items").get().addOnSuccessListener { snapshot ->
        for (document in snapshot.documents) {
            val data = document.data
            val subCategories = data["itemName"] as String

            itemSpinnerArray.add(subCategories)


        }

        if (categorySpinnerArray.contains("Weights")) {
            itemSpinnerArray.add(query.toString())

        }

        spinnerArrayAdapter.notifyDataSetChanged()



    }

并且vars是

private var db = FirebaseFirestore.getInstance()
var weightCategory = db.collection("List Items")
var query = weightCategory.whereEqualTo("categoryId", "0")

但它没有工作

请问有人帮我吗?

这就是我的数据库设置方式

List Items

Categories

修改

创建Log以查看结果后,我得到了这个

  

02-08 15:12:30.996 3003-3003 / com.reecreate.woderator2 D / TAG:结果[Barbell,Deadlift Barbell,Climbing Rope,Plyo Box,Bumper Plate,Dumbbell,Kettlebell,Sandbag,3kg,5kg ,6公斤,体操环]

我想要传递的问题类别是权重,因此如您所见,某些项目没有权重。基本上,它不会过滤任何东西

1 个答案:

答案 0 :(得分:0)

您将类别存储为数字,但是将其作为字符串查询。这意味着价值永远不会匹配。要解决此问题,请将一个数字传递给查询:

var query = weightCategory.whereEqualTo("categoryId", 0)