我正在尝试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);
});
}
需要检查的两件事情:1)您是否意外更改了实时数据库的规则而不是控制台中的Cloud Firestore? 2)如果明确添加“允许读取,写入:如果为真”会发生什么? –
@ToddKerpelman感谢您的回复。我忙于工作,所以无法看清楚。现在我可以创建文档了。请找到已发布的答案。 – hashcoder