我正在用JavaScript编写。我有这个if语句:
var rightsRef = db.collection("users").document(uid).collection("rights");
if(createDocumentWithId(rightsRef, "readGrades", "false", null, null, null, null) === true) {
window.location.href = "../public/main/main_index.html";
}
以下是应在Cloud Firestore中添加值的函数:
function createDocumentWithoutId(var databaseRef, var titleValue1, var contentValue1, var titleValue2, var contentValue2, var titleValue3, var contentValue3) {
databaseRef.add({
titleValue1: contentValue1,
titleValue2: contentValue2,
titleValue3: contentValue3,
}).then(function() {
return true;
}).catch(function(error) {
console.error("Error adding document: ", error);
return false;
});
}
但是我收到此错误:
TypeError: db.collection(...).document is not a function
答案 0 :(得分:2)
我之所以这么说是因为我实际上并没有使用Firebase,但是基于您的错误,db.collection("users")
返回的对象没有document
属性。
当我简要查看firebase api文档时,用于获取文档引用的API看起来像here,doc
而不是document
此外,在查看at the api docs时,您可以看到集合引用仅具有一个称为doc
的函数。
答案 1 :(得分:0)
db.collection("users")
返回一个CollectionReference对象。从API文档中可以看到,它没有称为document()
的方法。它确实具有您所需要的称为doc()的方法。您可能将Firestore JavaScript API与Java API混淆了。