如何在Firestore中查询DocumentReference
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Firestore中查询DocumentReference相关的知识,希望对你有一定的参考价值。
我有一个酒吧命令的集合,并且在每个文档中都有一个带有酒保参考的字段。
我正在尝试使用文档参考信息。
类似的东西:
orders = this.database.collection("orders",
(ref) => ref.where("barman.path", "==", "barmen/" + this.auth.auth.currentUser.uid),
);
return orders.valueChanges();
barman.path
,因为当我获得带有字段引用的文档时,这是获取引用路径的方法。
我已经尝试只使用barman
代替barman.path
。
我已经尝试使用docref(firestore.googleapis.com/pro...
)的完整'path'进行定位。
有什么想法吗?
仅输入ID而不是完整引用将使系统的其他部分困难。
为了查询参考字段,您应该创建一个与您要查询的位置相匹配的DocumentReference
对象,并使用该对象。请注意,这需要是本地Firestore引用,因为AngularFirestoreCollection
和AngularFirestoreDocument
只会在Firestore中显示为“自定义对象类型”。您可以使用AngularFirestore类型的ref
成员来获得它。
我不确定查询的'.path'部分在哪里,因为您要查询的实际字段是barman
。我已在示例中将其删除。
就您而言,这看起来像:
const queryReference = this.database
.collection('barmen')
.doc(this.auth.auth.currentUser.uid).ref;
orders = this.database.collection('orders',
(ref) => ref.where('barman', '==', queryReference),
);
return orders.valueChanges();
我显然无法完全测试此代码,因为没有足够的代码来证明this.auth.auth.currentUser.uid
在这种情况下有效。但这应该为您指明正确的方向。
以上是关于如何在Firestore中查询DocumentReference的主要内容,如果未能解决你的问题,请参考以下文章
Vue Firestore 查询。 Firestore更新数据时如何避免重复?
如何在 Cloud Firestore 中使用文档 ID 执行集合组查询