在Firestore中具有一些如下所示的数据:
我的查询:
db().collection("contactLists").whereArrayContains("contacts.id", "+911122334455");
不返回任何匹配项。在Firestore中可以进行这样的查询吗? @DougStevenson的answer建议几个月前不可能。还是这样吗?我是否可能错误地指定了查询?
我唯一想到的替代方法是将电话号码存储为平面数组(即List
s的数组/ String
)以使其可搜索。
答案 0 :(得分:2)
对于数组查询,您必须调出本身就是数组类型的文档字段的名称。您无法调出数组中包含的对象字段的名称。
您还需要搜索整个数组元素的确切内容,而不仅仅是存储在数组中的对象的单个属性。
如果您需要按数组中的某些字符串搜索文档,则该数组仅需要包含要搜索的字符串。您现在所拥有的将无法使用。