Firebase实时数据库是无模式的。这样一来,开发过程中就很容易进行更改,但是一旦您的应用可以发布了,保持数据的一致性就很重要。规则语言包括一个.validate规则,允许您使用与.read和.write规则相同的表达式来应用验证逻辑。唯一的区别是,所有相关的验证规则都必须评估为true才能允许写入(换句话说,所有适用的.validate规则都经过“与”运算以允许数据库写入)。
这些规则强制写入的数据/foo/必须是少于100个字符的字符串:
{ "rules": { "foo": { ".validate": "newData.isString() && newData.val().length < 100" } } }
验证规则可以访问与.read和.write规则相同的所有内置函数和变量 。您可以使用它们来创建验证规则,这些规则了解数据库中其他位置的数据,用户的身份,服务器时间等。