【发布时间】:2020-03-21 17:01:15
【问题描述】:
文档结构:
{
[id 1] {
field1: "value",
field2: "value",
field3: "value"
}
[id 2] {
field1: "value",
field2: "value",
field3: "value"
}
[id 3] {
field1: "value",
field2: "value",
field3: "value"
}
}
地图ID参考文档,不能硬编码,但每个地图的字段名称(field1,field2...)都是相同的
有没有办法检查任何 1 个映射中只有 1 个字段被更改,如果满足这些条件则允许写入?
【问题讨论】:
-
如果不知道字段名称,则无法从字段中获取值。你在这里的目标是什么?为什么需要这样做?
-
@DougStevenson 相关文档包含由随机 ID 引用的地图。我只需要允许更改 1 个地图中的 1 个子值。由于只能更改 1 个地图,因此
changedKeys()仅包含 1 个项目,因此获取已更改地图的 id 的一种方法是获取从changedKeys()返回的集合中 id 的值,但我没有t 找到有关如何执行此操作的任何文档。那么有没有办法从Set获取值,或者获取更改后的地图? -
很难从那段文本中想象你在做什么,但我认为随机字段名称在这里对你不利。不知道你在做什么是可能的。这并不是在 Firestore 中建模数据的好方法。
-
@DougStevenson 我把问题说清楚了,你能再看一下吗?
标签: google-cloud-firestore firebase-security