Firebase数据库的读写权限被拒绝

时间:2018-09-21 12:25:02

标签: firebase firebase-realtime-database google-cloud-firestore

我正在尝试从Web应用程序读写Firebase数据库 我得到这个错误 the error appear when the writeUserData() function called 当调用writeUserData()函数时出现错误

这是js代码

<script src="https://www.gstatic.com/firebasejs/5.5.1/firebase.js"></script>
<script> // Initialize Firebase var config = { // copied from firebase website }; firebase.initializeApp(config); writeUserData(); function writeUserData() { firebase.database().ref('options/gK6YJVMAr82Pp8GHmjJa').set({ active_table: '2222', }); } </script>

这是Firebase数据库规则 this is the rules

这是数据库结构 this is the data structure

1 个答案:

答案 0 :(得分:1)

您正在混合Firebase提供的两种数据库类型:实时数据库和Firestore。

您正在将数据(和编写安全规则)存储在Firestore中,但是用于写入数据的代码(firebase.database().ref('options/gK6YJVMAr82Pp8GHmjJa').set())对应于实时数据库。

您将在此处找到将数据写入Firestore的文档:https://firebase.google.com/docs/firestore/manage-data/add-data

因此,在您的情况下,您应该按照以下原则进行操作:

var db = firebase.firestore();
db.collection("options").doc("gK6YJVMAr82Pp8GHmjJa").set({
            active_table: '2222',
        })
.then(function() {
    console.log("Document successfully written!");
})
.catch(function(error) {
    console.error("Error writing document: ", error);
});

请注意使用firebase.firestore()而不是firebase.database()