Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase-snapshot.val()返回null-为什么它无法连接到正确的集合?_Javascript_Firebase_Firebase Realtime Database_Vue.js_Google Cloud Firestore - Fatal编程技术网

Javascript Firebase-snapshot.val()返回null-为什么它无法连接到正确的集合?

Javascript Firebase-snapshot.val()返回null-为什么它无法连接到正确的集合?,javascript,firebase,firebase-realtime-database,vue.js,google-cloud-firestore,Javascript,Firebase,Firebase Realtime Database,Vue.js,Google Cloud Firestore,我试图从firebase集合中的字段检索信息,以便在我的站点上使用这些信息。但是,snapshot.val()给了我null。我的参考文献是否没有正确定位收藏?当我尝试访问集合中的字段时(正如您在注释掉的行中看到的那样),我遇到以下错误: headerNav.vue?c47a:69未捕获(承诺中)类型错误:无法读取 null的属性“userControl” 这个问题让我一个人得到了一个StackOverflow帐户。你们谁能理解它?如果你能教我如何解决这个问题,我很想被证明是个白痴 if(

我试图从firebase集合中的字段检索信息,以便在我的站点上使用这些信息。但是,snapshot.val()给了我null。我的参考文献是否没有正确定位收藏?当我尝试访问集合中的字段时(正如您在注释掉的行中看到的那样),我遇到以下错误:

headerNav.vue?c47a:69未捕获(承诺中)类型错误:无法读取 null的属性“userControl”

这个问题让我一个人得到了一个StackOverflow帐户。你们谁能理解它?如果你能教我如何解决这个问题,我很想被证明是个白痴

  if(firebase.auth().currentUser){

    return firebase.database().ref('/users/samgmailcom').once('value').then((snapshot) => {
      console.log(snapshot.val());
      //console.log(snapshot.val().userControl);
    });

  } else {
    this.user = null
  }

您在屏幕截图中显示的数据库是Cloud Firestore。但是您正在访问的API是针对Firebase实时数据库的。它们是完全独立的数据库,每个数据库都有自己的API

按照上的文档进行操作以解决问题。像这样的事情应该可以做到:

var docRef = db.collection("users").doc("samgmailcom");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
    } else {
        // doc.data() will be undefined in this case
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});

尝试删除引用中的第一个“/”我已经尝试过了。这并没有改变任何事情。天哪,这完全奏效了。我不敢相信,我从来没有想到云firebase需要一种不同的定位方式,因为我在设置云firebase时必须在其中一种方式中进行选择。当你指出这一点时,它是非常有意义的,但是我仍然希望常规firebase的文档能够对此有所说明,因为我觉得这并不明显。就像,这是我正在阅读的文档:我只是在这里解释“数据库”是指任何数据库。我只是对你的答案投了赞成票,但显然我的赞成票不会显示出来,因为我是该网站的新手:(谢谢,刚刚做了:)