我刚刚开始使用Firebase,请注意,有很多教程/文档指导您将以下内容放入数据库的规则中:
{
"rules": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
}
}
}
但是,此代码似乎有一个新版本,即版本 2。我想知道我上面的代码是否已经过时并且版本1(我猜(基本上等同于此代码:
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}
来自Google Firebase Docs(https://firebase.google.com/docs/firestore/security/get-started(
谢谢
您显示的是来自两个彼此没有直接关系的不同产品的规则。
您的第一个示例适用于 Firebase 实时数据库。 基于JSON的规则语言多年来没有改变。
您的第二个示例适用于 Firestore。 这是一种完全不同的安全规则语言,与Firebase实时数据库有点相似,但完全不同。
您所指的规则"版本 2"仅适用于 Firestore。 它改变了语言几个方面的行为,仅此而已。