2017-10-06 158 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时,它的工作就是如此。非常感谢您的回复。