在FireStore安全规则中,是否可以访问作为列表请求一部分发送的参数?
目标:我要检索
single
发布文档,即
published
,通过使用
slug
属性。
查询:
let postDoc = this.afs.collection( 'posts', ref => ref
.where( 'published', '==', true )
.where( 'slug', '==', slug )
.limit( 1 )
);
规则:
allow list: if ( resource.data.published == true )
&& ( resource.data.slug == request.resource.data.slug )
&& request.query.limit <= 1;
问题:这会导致“无权限”错误。但是,如果我移除
( resource.data.slug == request.resource.data.slug )
它工作得很好。我想问题是
request.resource.data.slug
只存在于写请求中,不存在于读请求中(请参见
https://firebase.google.com/docs/reference/rules/rules.firestore.Request
)
有什么方法可以让这个工作吗?