Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 云Firestore whereNotEqual_Firebase_Google Cloud Firestore - Fatal编程技术网

Firebase 云Firestore whereNotEqual

Firebase 云Firestore whereNotEqual,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,Firestore是否支持类似于whereNotEqual 例如,我需要获取缺少键“xyz”的确切文档。 在Firebase实时数据库中,我们可以通过调用*.equalTo(null)来获取它 谢谢。Firestore不支持直接等效的=。支持的查询运算符为,因此没有“whereNotEqual” 您可以测试字段是否存在,因为所有筛选器和order BY都会隐式创建一个关于字段是否存在的筛选器。例如,在Android SDK中: collection.orderBy("name") 将仅返回包含

Firestore是否支持类似于
whereNotEqual

例如,我需要获取缺少键“xyz”的确切文档。 在Firebase实时数据库中,我们可以通过调用
*.equalTo(null)
来获取它


谢谢。

Firestore不支持直接等效的
=。支持的查询运算符为,因此没有“whereNotEqual”

您可以测试字段是否存在,因为所有筛选器和order BY都会隐式创建一个关于字段是否存在的筛选器。例如,在Android SDK中:

collection.orderBy("name")
将仅返回包含
名称“
字段的行

与显式比较一样,无法反转此查询以返回不存在值的行

有一些解决办法。最直接的替代方法是显式存储
null
,然后查询
collection.whereEqualTo(“name”,null)
。但这有点烦人,因为如果不从一开始就填充它,则必须在需要时回填现有数据。如果无法升级所有客户端,则需要部署一个函数来填充此字段


另一种可能是观察到,通常缺少的字段表示文档只是部分组装,可能是因为它经过某种状态机,或者是两种不重叠类型的联合。如果将状态或类型显式记录为判别式,则可以查询该字段,而不是字段不存在。当只有两种状态/类型时,这种方法非常有效,但如果有许多状态,则会变得混乱。

Cloud Firestore现在支持数据库查询


请记住,如果您的查询中有多个字段,则可能必须在云中创建Firestore。

我对您的问题的理解是,您希望查询集合以获取所有没有“xyz”字段的文档。根据我对文档和实验的阅读,我认为FireStoreAPI不支持这一点。