例如,它是一个简单的调用:
const stateQueryRes = await citiesRef.where('state', '==', 'CA').get();
但我想得到的城市‘州’不在被禁止的州名单(从单独的文件‘bannedCitiesDoc’。这个‘bannedCitiesDoc’是一系列被禁止的城市的文档。例如:
const stateQueryRes = await citiesRef
.where('state', '==', 'CA')
.where('state', ‘not’-in, bannedCitiesDoc)
.get();
这是可能的吗?
发布于 2020-12-03 17:06:13
Firestore查询一次只能考虑单个集合中的文档。不可能在多个集合之间进行类似SQL的“连接”,也不可能使用文档字段的内容作为查询过滤器的输入。
如果需要处理两个集合中的数据,则必须进行两个查询。在您的例子中,您必须首先查询禁止的城市,然后查询某个州的城市,然后用第一个查询的结果过滤掉第二个查询的结果。你不能用一个查询就做到这一点。
https://stackoverflow.com/questions/65123175
复制