文件不是功能吗?

时间:2018-11-13 13:12:30

标签: javascript firebase google-cloud-firestore

我正在用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

2 个答案:

答案 0 :(得分:2)

我之所以这么说是因为我实际上并没有使用Firebase,但是基于您的错误,db.collection("users")返回的对象没有document属性。

当我简要查看firebase api文档时,用于获取文档引用的API看起来像heredoc而不是document

此外,在查看at the api docs时,您可以看到集合引用仅具有一个称为doc的函数。

答案 1 :(得分:0)

db.collection("users")返回一个CollectionReference对象。从API文档中可以看到,它没有称为document()的方法。它确实具有您所需要的称为doc()的方法。您可能将Firestore JavaScript API与Jav​​a API混淆了。