firebase - 如何使 Firestore 文档中的某些数据字段可读
问题描述
我的问题
是否可以创建 Firebase 规则,以便用户可以在文档中使用read
某些数据字段,但not read
在同一文档中使用其他规则?我问这个问题是因为我想让用户能够从文档中查询数据,但只能查询文档中的某些字段。
例如
假设您在故事文档中有以下数据:/stories/{storyid}
{
title: "A Great Story",
content: "Once upon a time...",
author: "some_auth_id",
published: false
}
在下面的示例中,我尝试创建一个规则,以便用户可以read/query
是文档的作者(但不能是文档的其他字段 - 例如标题)。
请注意,我添加了/stories/{storyid}/{author}
service cloud.firestore {
match /databases/{database}/documents {
match /stories/{storyid}/{author} {
allow read: if request.auth != null;
}
}
}
我将如何创建这样的规则?
解决方案
我猜您的意思是“是否可以创建 Firebase 规则,以便用户可以读取文档中的某些数据字段但不能读取同一文档中的其他字段?”
这实际上是不可能的:Firestore 安全规则适用于文档级别。
一种经典的解决方案是复制另一个集合中的文档,其中仅包含您希望使其可读的字段子集。
推荐阅读
- python - 如何在网站中执行 python 代码
- django - 如何将三个变量传递给自定义模板标签?
- ios - 仅在对应于 dispatch_async 导出(ad-hoc 或在 AppStore 上)时,Objective-c 应用程序才会崩溃
- r - 如何修复:绘制图例时出现“strwidth 错误”
- python - 如何知道哪个是 Affinity Propagation 创建的集群的示例
- scala - 错误:值拆分不是 (String, Int) 的成员
- azure - Az / AzureRM / 旧版 Azure Powershell 冲突
- php - 这个 php / mysql 在 localhost 和远程服务器上的行为有什么不同吗?
- react-native - 按钮未定位在 React Native 中
- r - 使用ggrepel使用换行符时如何左对齐?