У меня есть следующая запись в базе данных: «компании: 8»:
У меня есть следующие правила базы данных, которые не позволяют имитировать запись «компаний: 8» в базу данных.
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"companies": {
".validate": "(data.exists() && (newData.val() === data.val() + 1)) || (!data.exists() && newData.val() == 0)"
}
}
}
Однако, когда я пытаюсь записать «companies: 20» в базу данных с помощью Firebase Python SDK, что также не разрешено этими правилами, это работает:
In [1]: import firebase_admin
In [2]: from firebase_admin import credentials, db
In [3]: cred = credentials.Certificate('serviceAccountCredentials_dev_async.json
...: ')
In [4]: firebase_admin.initialize_app(cred, {'databaseURL': 'https://async-testi
...: ng.firebaseio.com/'})
Out[4]: <firebase_admin.App at 0x7fc50c00c080>
In [5]: ref = db.reference()
In [6]: ref.update({'companies': 20})
Что я делаю не так?