поэтому я добавляю новое поле в свой пользовательский документ с именем numberOfFollowers
, чтобы у нового пользователя было это поле, но у старого пользователя нет этого поля numberOfFollowers
.
в правилах безопасности я хочу установить, что numberOfFollowers
должно быть числом. и если у старого пользователя нет этого поля, то ему все равно разрешается обновлять свой документ.
, поэтому я установил правила безопасности следующим образом:
match /users/{userID} {
allow update: if isValidUserStructure(request.resource.data)
}
function isValidUserStructure(user) {
return (user.numberOfFollowers is number || user.numberOfFollowers == null)
&& user.banned is bool
&& user.contactNumber is string
&& user.createdAt is timestamp
&& user.domicile is string
&& user.email is string
}
, но для старого пользователя доступ всегда запрещен у которого нет этого поля из-за этой строки (user.numberOfFollowers is number || user.numberOfFollowers == null)