Java 是否可以在Firestore中的对象数组中重新查询对象字段?

Java 是否可以在Firestore中的对象数组中重新查询对象字段?,java,google-cloud-firestore,firebase-admin,Java,Google Cloud Firestore,Firebase Admin,Firestore中的某些数据如下所示: 我的问题是: db().collection("contactLists").whereArrayContains("contacts.id", "+911122334455"); 不返回匹配项。在Firestore中可以进行这样的查询吗@DougStevenson的研究表明,几个月前这是不可能的。还是这样吗?我是否错误地指定了查询 我能想到的唯一替代方法是将电话号码存储为一个平面数组(即,一个数组/列表的字符串s),以使其可搜索。对于数组查询,您必

Firestore中的某些数据如下所示:

我的问题是:

db().collection("contactLists").whereArrayContains("contacts.id", "+911122334455");
不返回匹配项。在Firestore中可以进行这样的查询吗@DougStevenson的研究表明,几个月前这是不可能的。还是这样吗?我是否错误地指定了查询


我能想到的唯一替代方法是将电话号码存储为一个平面数组(即,一个数组/
列表
字符串
s),以使其可搜索。

对于数组查询,您必须调用本身是数组类型的文档字段的名称。不能调用数组中包含的对象字段的名称

您还需要搜索整个数组元素的确切内容,而不仅仅是数组中存储的对象的单个属性


如果需要按数组中的某个字符串搜索文档,则该数组只需包含要搜索的字符串。你现在拥有的东西行不通。

我就是这么想的。谢谢