Firestore 查询比较两个没有数组包含的数组

Oli*_*via 7 firebase react-native google-cloud-firestore

是否可以在没有“array-contains”的情况下比较 Firestore 查询中的两个数组?

像这样的东西:

    query = query.where(
       "info.currentLocation",
       "==",
       currentUserBasicInfo.currentLocation
    );
Run Code Online (Sandbox Code Playgroud)

info.currentLocationcurrentUserBasicInfo.currentLocation都是具有映射值的数组。我无法更改数据结构,并且查询中已经有“数组包含”。因为两个数组必须相同才能运行,所以我觉得必须有一种方法可以比较两个数组,而不必使用“array-contains”或“array-contains-any”或“IN”。

有什么建议么?这可能吗?

小智 2

“array-contains”方法能够查询数组中的元素。这意味着您可以将元素保留为数组,并轻松查询它们,而无需求助于地图 hack。

如果您不想使用此方法,一种替代方法可以是迭代两个数组,直到匹配您需要的值。

但是,在本文档中,您可以找到执行简单和复合查询的多个示例。