2017-10-06 98 views
1

我正在嘗試Cloud Firestore。我認爲我做了一些愚蠢的事情,所以我無法通過代碼和控制檯創建任何文檔/集合。在Cloud Firestore上創建文檔時出錯 - 權限被拒絕

我還沒有使用任何寫/讀規則(任何人都可以讀/寫)將數據庫鎖定到數據庫。以下是我的規則配置。

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /{document=**} { 
     allow read, write; 
    } 
    } 
} 

當我通過控制檯嘗試,它打開了,我進入了集合名稱的第一個文檔(使用生成的ID),一個模式。然後點擊'保存'只是關閉模式,但數據庫沒有更新。

當我嘗試通過代碼(JS)插入文檔時,我可以看到在控制檯上拋出的以下錯誤。

Error updating data: Error: PERMISSION_DENIED: Permission denied 
at firebase-storage.js:3479 
at z (firebase-storage.js:3479) 
at t.callOnCompleteCallback (firebase-storage.js:3479) 
at firebase-storage.js:3479 
at firebase-storage.js:3479 
at e.ci (firebase-storage.js:3479) 
at t.ci (firebase-storage.js:3479) 
at t.qi (firebase-storage.js:3479) 
at e.onMessage (firebase-storage.js:3479) 
at e._o (firebase-storage.js:3479) 

下面是JS代碼。

var config = { 
    apiKey: "xxxx", 
    authDomain: "xxxx.firebaseapp.com", 
    databaseURL: "https://xxxx.firebaseio.com", 
    projectId: "xxxx", 
    storageBucket: "", 
    messagingSenderId: "yyyy" 
}; 
firebase.initializeApp(config); 

var db = firebase.firestore(); 

$scope.addNote = function() { 

    var note = { 
    text: 'Sample Note', 
    createdBy: 'Ranis' 
    } 
    db.collection('notes').add(note).then(function(data) { 
     console.log('Note Added ', data) 
    }, 
    function(err) { 
     console.log('Note Add Error ', err); 
    }); 
} 
+0

需要檢查的兩件事情:1)您是否意外更改了實時數據庫的規則而不是控制檯中的Cloud Firestore? 2)如果明確添加「允許讀取,寫入:如果爲真」會發生什麼? –

+0

@ToddKerpelman感謝您的回覆。我忙於工作,所以無法看清楚。現在我可以創建文檔了。請找到已發佈的答案。 – hashcoder

回答

1

同樣的問題。試用了allow read, write: if true;allow read, write;。如果我通過身份驗證,這並不重要。我的錯誤代碼是:permission-denied,我的錯誤消息是Missing or insufficient permissions.

+0

嗨@Jan,當您從控制檯嘗試時,您是否可以添加任何記錄? – hashcoder

+0

同樣的問題在這裏,你找到任何方式來解決它@Jan – maphongba008

0

現在我能夠創建文檔。問題發生是因爲我的服務方法仍然使用FireBase RealTime Database代碼插入數據,我的糟糕(我之前使用過Firebase RT,只想嘗試FireStore)。關於控制檯問題,當我嘗試Google Chrome時(ver-60.0.3112.90),我仍然面臨問題。但是當我嘗試使用FireFox時,它的工作就是如此。非常感謝您的回覆。