尝试配置Cloud Firestore规则时遇到麻烦。
我正在尝试访问文档内部,集合内部的字段...像这样
List<Data> list = ParseData( "{1, 'hello', 1, 3}, {2, 'othello', 0, 2}" );
“ creatorId”是database / products / {productId}
中的一个字段我想区分用户,只允许他们更新和删除他们在database / products / ...中创建的文件,但我也希望他们能够查看/ products /中的所有文档。 ...
我为fetchAndSetProducts设置的布尔值是我希望用来过滤某些信息应用程序方面的内容,例如仅允许使用查看某些产品(包含其userId的产品)。我不确定是否还需要在“产品”上设置索引,但是我已经做过以防万一。因此,我想锁定用户未创建的所有文件。
我认为应该是这样的:
async componentDidMount(){
const url = "http://www.mocky.io/v2/5db88c413b00004f0b35f1f1";
const response = await fetch(url);
const data = await response.json();
this.setState({produto: data.suggestions[0], loading_produto: false})
this.setState({alternativas: data.choices, loading_alternativas: false})
this.setState({atributos: data.suggestions[0].product_data.attributes, loading_atributos: false})
console.log(this.state.produto.product_data.title);
}
无效,并且我的应用端代码也无法按用户过滤。
答案 0 :(得分:1)
如果要匹配产品集合中的所有文档,它将看起来像这样:
service cloud.firestore {
match /databases/{database}/documents {
match /products/{productId} {
allow read: if resource.data.creatorId == request.auth.uid;
}
}
}
请注意,我从第二场比赛的末尾删除了“文档”。