我在firestore的集合中有一系列嵌套对象,它们的键是UID。我想查询与用户相关的所有文档,通过检查它们的UID是否是对象键(基本上如果它存在)。这是firestore中的模型:
这是我目前正在尝试返回文档的方式:
getAllTenancyOffersByUserId() {
return this.afs.collection('collection_name', ref =>
ref.where(`application.members.${this._auth.currentUserId}`, '==', !null),
);
}
但这没有返回任何东西。我知道我可以只按该状态查询,但它不断更新,所以会导致问题
4条答案
按热度按时间blmhpbnm1#
下面的代码应该可以做到这一点:
参见相应文档:https://firebase.google.com/docs/reference/js/firebase.firestore.FieldPath#.documentId
pw9qyyiw2#
实际上,你可以这样做,通过对象中的任何字符串字段进行过滤:
这里重要的部分是字符串字段“〉",”''”
gudnpqoy3#
我相信查询一个对象是否存在是不可能的。我认为你的查询对象内部字段的想法可能是最好的选择。
您可以尝试在date_modified字段中查询任何大于1900的值。
uqdfh47h4#
你为什么不把id加到对象上呢
你的查询如下:
.collection('members').where('memberId', "==", currentMemberId)