Firebase firestore阵列是如何实现的?

Firebase firestore阵列是如何实现的?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我需要在一个字段中存储一个字符串列表,并且我需要能够通过其值轻松访问每个字符串,但是firestore中没有“set”或“1d map”选项。作为黑客,我使用了一个映射并将每个字符串存储为“value”:value。但是firestore的数组的方法和功能看起来像一个集合,如果是这样的话,它将非常适合存储这种类型的数据。firestore阵列是以集合的形式实现的还是以传统阵列的形式实现的?firestore阵列只是阵列,但带有一些特殊的运算符,允许您将它们作为集合使用 具体地说,您可以将一个项目

我需要在一个字段中存储一个字符串列表,并且我需要能够通过其值轻松访问每个字符串,但是firestore中没有“set”或“1d map”选项。作为黑客,我使用了一个映射并将每个字符串存储为“value”:value。但是firestore的数组的方法和功能看起来像一个集合,如果是这样的话,它将非常适合存储这种类型的数据。firestore阵列是以集合的形式实现的还是以传统阵列的形式实现的?

firestore阵列只是阵列,但带有一些特殊的运算符,允许您将它们作为集合使用

具体地说,您可以将一个项目添加到数组中,如果它还不在数组中

你也可以


请注意,在所有这些情况下(联合和查询),都需要指定整个数组值,并且不能只指定其中的一个属性。在您的情况下,使用简单的字符串值是有意义的,但当您在数组中存储对象时,这也适用:您必须为查询指定整个对象以匹配它。

执行元素删除(通过arrayRemove)时,firestore是否需要扫描数组中的值,或者它是否也以某种方式按值索引并立即删除元素?我假设它会扫描,但只是澄清一下。它们的值是索引的,否则它们将不被允许在查询中。Firestore只允许其能够保证性能的操作。