有2个应用程序使用相同的firestore数据。 1.前端2.后端
前端使用jquery仅显示数据。
后端Angular7管理应用程序,用于创建,更新,删除前端数据。
现在前端提示错误
错误:PERMISSION_DENIED:权限被拒绝
Firestore规则
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
码
var dbRef = firebase.database();
var contactsRef = dbRef.ref("Slides");
//load older conatcts as well as any newly added one...
contactsRef.on("child_added", function(snap) {
console.log("added", snap.key(), snap.val());
$("#contacts").append(contactHtmlFromObject(snap.val()));
});
function contactHtmlFromObject(contact) {
console.log(contact);
var html = "";
html += '<li class="list-group-item contact">';
html += "<div>";
html += '<p class="lead">' + contact.name + "</p>";
html += "</div>";
html += "</li>";
return html;
}
Firebase中有两种数据库:实时数据库和Firestore。
您的请求正在访问实时数据库:
var dbRef = firebase.database();
var contactsRef = dbRef.ref("Slides");
但规则适用于您的Firestore数据库:
service cloud.firestore {
因此,您需要转到Firebase中的数据库部分,然后在标题旁边会看到下拉列表。切换到Realtime Databse,然后选择Rules
选项卡。
它应该如下所示:
{
"Slides": {
".write": "auth != null",
".read": true,
},
}