我刚开始使用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文档(https://firebase.google.com/docs/firestore/security/get-started)
谢谢
您正在显示来自两个彼此不直接相关的不同产品的规则。
您的第一个样本用于Firebase Realtime Datbase。多年来,基于JSON的规则语言没有改变。
您的第二个样本用于Firestore。这是完全不同的安全规则语言,与Firebase Realtime Database有点类似,但完全不同。
您指的规则“版本2”仅适用于Firestore。它改变了语言的几个方面的行为,仅此而已。