是否可以查询 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
)以便可以搜索它们。
对于数组查询,您必须调出本身就是数组类型的文档字段的名称。您不能调出数组中包含的对象字段的名称。
您还需要搜索整个数组元素的确切内容,而不仅仅是数组中存储的对象的个别属性。
如果您需要通过数组中的某个字符串来搜索文档,则该数组只需要包含要搜索的字符串即可。你现在拥有的将无法工作。
Firestore 中有一些数据如下所示:
我的查询:
db().collection("contactLists").whereArrayContains("contacts.id", "+911122334455");
returns 没有匹配项。在 Firestore 中可以进行这样的查询吗? @DougStevenson 的
我能想到的唯一替代方法是将 phone 数字存储为平面数组(即,String
的数组/List
)以便可以搜索它们。
对于数组查询,您必须调出本身就是数组类型的文档字段的名称。您不能调出数组中包含的对象字段的名称。
您还需要搜索整个数组元素的确切内容,而不仅仅是数组中存储的对象的个别属性。
如果您需要通过数组中的某个字符串来搜索文档,则该数组只需要包含要搜索的字符串即可。你现在拥有的将无法工作。