Firebase规则以避免重复条目

时间:2016-12-22 14:42:12

标签: firebase firebase-realtime-database firebase-security

sList 集合级别避免以下用户数组中的重复条目需要哪些firebase规则

"sList" : {
    "-KZawgegLrIyq9h6GSf8" : {
      "name" : "Test",
      "users" : [ "-KZawhnFZLcqFKNwZnSi", "-KZawhnFZLcqFKNwZnSi", "-KZawhnFZLcqFKNwZnSi", "-KZawhnFZLcqFKNwZnSi", "-KZawxBSAwL-lbi7dF-h", "-KZawxBSAwL-lbi7dF-h", "-KZawxBSAwL-lbi7dF-h", "-KZawxBSAwL-lbi7dF-h", "-KZawxBgz8k7v8-fKpDV", "-KZawxBgz8k7v8-fKpDV", "-KZawxBgz8k7v8-fKpDV", "-KZawxBgz8k7v8-fKpDV" ]
    }
  }

1 个答案:

答案 0 :(得分:1)

您要模拟的是一组:一组唯一条目。

您建模的是一个数组:一系列非唯一条目。

最简单和最好的解决方案是更改您的数据模型以实际反映一组。您在Firebase中最接近的是:

"sList" : {
    "-KZawgegLrIyq9h6GSf8" : {
      "name" : "Test",
      "users" : { 
        "-KZawhnFZLcqFKNwZnSi": true, 
        "-KZawxBSAwL-lbi7dF-h": true, 
        "-KZawxBgz8k7v8-fKpDV": true
      }
    }
  }

使用这种类似集合的结构,数据结构本身会自动阻止重复。您不需要为此编写安全规则。