【发布时间】:2021-11-20 08:43:27
【问题描述】:
我正在开发一个应用程序,帮助用户在附近的药店搜索他们想要的药物,然后显示有库存药物的药房列表和价格。
这是数据库的结构:
Firestore-root
|
--- pharmacies (collection)
|
--- $pharmacyId (document)
|
--- medicine (sub-collection)
|
--- $medicineId
|
--- name: "Aspirin"
|
--- inStock: true
|
--- price: 500
我曾经在 FireFoo 上进行 CollectionGroup 查询,以获取有“阿司匹林”库存的药房,例如,我获得了创建索引的推广并创建了所需的索引但查询结果为空。
这里是查询:
async function run() {
const query = await db.collectionGroup("medicine")
.where("name", "==", "Aspirin")
.where("inStock", "==", "true")
.get();
return query;
}
这里有一些图片用于说明:
Pharmacies collection with 2 Pharmacy documents
medicine subcollection inside the 1st pharmacy document
【问题讨论】:
-
是的,它是空的,当我在 VS 代码上调试时,当我将鼠标悬停在查询变量上时,它显示大小为 0。 @Alex 的回答解决了我的问题,这是对引号的滥用。
标签: database firebase google-cloud-platform google-cloud-firestore nosql