如何选择没有特定字段的所有文档?我有以下结构:
user = {
firstName: 'blabla',
lastName: 'bloblo',
address: {
city: 'xxxx',
state: 'xxx'
}
}
我曾尝试与null进行比较,但未成功。
let db = firebase.firestore();
let querySnapshot = await db
.collection("users")
.where("address", "==", null)
.get();
答案 0 :(得分:3)
不可能选择“没有特定字段的所有文档”。
您将通过观看名为“开始了解Cloud Firestore”(https://www.youtube.com/playlist?list=PLl-K7zZEsYLluG5MCVEzXAQ7ACZBCuZgZ)的非常出色的Firestore视频系列(特别是第二个视频)来学习,Firestore中的查询基于索引,因此无法在文档中未包含的字段或没有特定值的字段(即“不等于”运算符)上建立索引。
但是,有一种解决方法是查询包含包含具有空值数据类型的属性的文档,请参见How to query Cloud Firestore for non-existing keys of documents
还要有趣的一点是,即使不是您要的内容,该技术也可以用于查询不为空的值Firestore select where is not null