【发布时间】:2020-10-23 06:02:04
【问题描述】:
我正在尝试设置 Firestore 安全性,以便用户可以读写自己的文档 这是我用来向数据库添加数据的代码
data() {
return {
order: {
price: null,
amount: null,
comment: null,
createdAt: new Date().toString().slice(0, 25),
uid: fb.auth().currentUser.uid
}
}
}
sendBuy() {
db.collection("orders").add(this.order);
}
这是读取数据的代码
readData() {
let uid = fb.auth().currentUser.uid;
db.collection("orders")
.where("uid", "==", uid)
.get()
.then(querySnapShot => {
querySnapShot.forEach(doc => {
console.log(doc.id, "=>", doc.data());
});
});
}
我试过的firestore规则不起作用
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /orders/{uid} {
allow read, write: if request.resource.data.uid == request.auth.uid;
}
}
}
请问我如何才能做到这一点
【问题讨论】:
-
您分享的代码/规则有什么问题?
-
该规则没有按我的预期工作,经过身份验证的用户无法读写,唯一有效的规则是 if request.auth != null;
标签: javascript google-cloud-firestore firebase-security