一个包含多个字段的文档,但我想要一个字段的条件,只有当它低于某个值时才可以读取......其余的字段可以随时读取......所以在用户结束它将返回该条件字段的值或空
答案 0 :(得分:0)
明白了,为此,只需编写一个 if 语句来检查每个输入字段,看看它是否满足您的条件。
A:
01.0000 00.0000 00.0000 10.0000
00.0000 01.0000 00.0000 20.0000
00.0000 00.0000 01.0000 30.0000
00.0000 00.0000 00.0000 01.0000
Z:
01.0000 00.0000 00.0000 00.0000
00.0000 01.0000 00.0000 00.0000
00.0000 00.0000 01.0000 00.0000
10.0000 20.0000 30.0000 01.0000
答案 1 :(得分:0)
安全规则控制对文档的访问,而不是特定字段。
因此,如果您希望某些字段始终可访问,同时控制对其他字段的访问,则有两种可能性:
1- 将可访问字段放在一个文档中,将私有字段放在另一个文档中,然后为私有文档编写安全规则
2- 限制对文档的直接访问并通过云功能访问它,您可以在其中隐藏或显示某些字段。
如果您选择使用单独的文档,这里是安全规则,如果字段 foo 低于 123,将阻止访问文档:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /students/{studentId} {
allow read: if resource.data.foo >= 123;
allow write: if false;
}
}
}