使用引用将文档返回到数组中

时间:2018-04-02 23:08:07

标签: android kotlin google-cloud-firestore

我正在寻找返回包含特定肌肉群参考的所有锻炼者。

Firestore

我试过了:

val db = FirebaseFirestore.getInstance()

db.collection("exercises")
        .whereEqualTo("musclesGroups.hgMweNPXXXXXXXXX", true)
        .addSnapshotListener({ value, e ->
            Log.i("test", "Exercises " + value.documents.size)
        })

但是没有结果也没有错误,大小为0

1 个答案:

答案 0 :(得分:2)

无法查询数组中是否存在某个值。请查看Firebase documentation on working with arrays, lists , and sets,了解可以实现目标的替代数据结构。

看起来您的查询已经来自那里,但您的数据结构不符合该解决方案中列出的模型。要编写正确的结构,文档会使用Map,其中包含您要在密钥中过滤的值,以及值中的true

Map<String, Boolean> categories = new HashMap<>();
categories.put("technology", true);
categories.put("opinion", true);
categories.put("cats", true);
MapPost myMapPost = new MapPost("My great post", categories);