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

Is it possible to query againt an object field in an array of objects in Firestore?

Firestore 中有一些数据如下所示:

我的查询:

db().collection("contactLists").whereArrayContains("contacts.id", "+911122334455");

returns 没有匹配项。在 Firestore 中可以进行这样的查询吗? @DougStevenson 的 表明几个月前这是不可能的。现在还是这样吗?我是否可能错误地指定了查询?

我能想到的唯一替代方法是将 phone 数字存储为平面数组(即,String 的数组/List)以便可以搜索它们。

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

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

如果您需要通过数组中的某个字符串来搜索文档,则该数组只需要包含要搜索的字符串即可。你现在拥有的将无法工作。