[英]firebase security rules: optional field that could be a null or a string?
如何使 firebase 接受可以是 null 或字符串的密钥? 但是该字段是可选的,因为在安全规则中您无法检查(是否)是 null?
function dataCheckCreate(requestData) {
return (
// requestData.count required
requestData.count is number &&
// requestData.src required
requestData.src is string &&
// requestData.date optional !!
// if available it could be a null or a string
(requestData.date == null || requestData.date is string)
);
}
当date
等于null
或者是一个字符串时,最后一条规则为true
。 如果您希望该字段是可选的,请尝试:
function dataCheckCreate(requestData) {
return (
requestData.count is number &&
requestData.src is string &&
// [date not present in data keys] [date is string]
(!('date' in requestData.keys()) || requestData.date is string)
);
}
你不能把null存储在firebase上的一个字符串字段中。相当于根本不存储它。
Javascript 将关键日期设置为 undefined/null 如果它不存在。 因为它要么是 null 要么是字符串和可选的,你真的需要检查它吗? 这将是一个合适的支票:
function dataCheckCreate(requestData) {
return requestData.count && requestData.src
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.