【发布时间】:2018-08-18 07:53:33
【问题描述】:
我正在尝试从集合中检索单个文档。我现在使用下面的代码返回一组项目,但我知道只有一个项目。所以它不是那么干净。
设置:
private db: AngularFirestore
private itemSubs: Subscription[] = [];
itemAd= new Subject<Item>();
fetchItemFromDatabase(itemId: string) {
this.itemSubs.push(
this.db.collection('items', id => id.where('itemId', '==', itemId)).valueChanges().subscribe((items: Item[]) => {
this.itemAd.next(items);
}));
}
我试图用 this.db.collection('items').doc(itemId).get() 来做,但我在 get() 上收到一个错误,它没有找到/不支持。我在尝试调用此方法时也没有自动完成(在官方 cloud firestore 文档中找到的方法)。
我查看了其他一些解决方案,然后使用 this.db.collection('items').doc(itemId).ref.get().then(...) 进行了尝试,但在这里我得到了一个空文档。
所以我现在有点卡住了,当我知道里面只有 1 个项目时,我不想使用整个集合逻辑。
【问题讨论】:
标签: javascript angular google-cloud-firestore