gpt4 book ai didi

android - Firebase Cloud Firestore 查询whereEqualTo 供引用

转载 作者:太空狗 更新时间:2023-10-29 15:28:00 26 4
gpt4 key购买 nike

我正在尝试创建一个查询,该查询仅选择引用等于给定引用的文档,使用 Java 进行 Android 开发。它将匹配的文档包含路径“/users/someUser”的引用。我正在这样创建引用:

DocumentReference ref = mDatabase.document("users/someUser");

我也试过:

DocumentReference ref = mDatabase.document("/users/someUser");

然后查询:

Query query = mDatabase.collection("myCollection").whereEqualTo("refField", ref).limit(10); 

但是,当我运行查询并检查 onComplete 方法中的 task.isSuccessful() 时,它没有通过,即它没有工作,而当我删除 时。 whereEqualTo(),它通过并且任务的结果不为空。如何正确使用 .whereEqualTo() 来检查所有包含特定引用的文档?

应该与我的查询匹配的文档示例是:

/myCollection/GDpojS5koac2C7YlIqxS 包含字段:
refField:/users/someUser(类型引用的值)

与我的查询不匹配的文档示例是:

/myCollection/J5ZcVAMYU1nI5XZmh6Bv 包含字段:
refField:/users/wrongUser(类型引用的值)

最佳答案

我认为您需要添加一个 get() 方法来运行查询并添加一个 onCompletionListener。

像这样的东西应该可以工作:

mDatabase.collection("myCollection")
.whereEqualTo("refField", ref)
.limit(10)
.get()
.addOnCompleteListener({task ->
if(task.isSuccessful){
val result = task.result
})

上面的例子是在 kotlin 中,但我想在 java 中它是类似的东西

关于android - Firebase Cloud Firestore 查询whereEqualTo 供引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51054114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com