Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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 Firstore数据不可用_Javascript_Google Cloud Firestore - Fatal编程技术网

Javascript Firstore数据不可用

Javascript Firstore数据不可用,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,我无法提取收集的数据,出现此错误 未捕获类型错误:doc.data不是函数 我找到解决方案,如果我通过修复id,然后下面的代码工作 (尽管ID是由firestore随机生成的) Firestore 错误消息看起来数据不是函数,这意味着在将其分配给变量时不必使用括号,因此将分配更改为此行: const myData=doc.data在您的第一个代码示例中,您假设附加到此的快照回调: db.collection("Slides") db.collection("Slides").doc("GYUz

我无法提取收集的数据,出现此错误

未捕获类型错误:doc.data不是函数

我找到解决方案,如果我通过修复id,然后下面的代码工作 (尽管ID是由firestore随机生成的)

Firestore

错误消息看起来数据不是函数,这意味着在将其分配给变量时不必使用括号,因此将分配更改为此行:
const myData=doc.data

在您的第一个代码示例中,您假设附加到此的快照回调:

db.collection("Slides")
db.collection("Slides").doc("GYUzWG6jcOPob725wbnF")
与本文件所附的文件类似:

db.collection("Slides")
db.collection("Slides").doc("GYUzWG6jcOPob725wbnF")
事实上,它们根本不一样

第一个将查询命名集合中的所有文档,并在回调中为您提供一个对象。此对象没有data()方法,您需要迭代它以获取所有文档快照

第二个将只查询命名集合中的命名文档,您将获得一个对象


既然你没有说你想完成什么,我就不能推荐你应该做什么。我所能说的是,您显示的两个代码位根本不一样,您可能希望它们的行为有所不同。

实际上,我的方法是错误的,请使用
get
函数获取所有数据

docRef.get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        // doc.data() is never undefined for query doc snapshots
        console.log(doc.id, " => ", doc.data());
    });
});

我知道这是两件不同的事情,我正在尝试获取
幻灯片
集合下的所有文档,但它不起作用。但是,一旦我通过
ID
它就会获取数据。我需要
幻灯片下的所有数据
请再次阅读我的答案,然后点击API文档。如果从第一个示例中获得QuerySnapshot,则使用文档化的API在结果中迭代文档。如果你对此有问题,那么就提出一个关于问题是什么的具体问题。现在你的问题只是问“为什么这些东西的工作方式不同”,它的return me函数使用以下代码
const myData=doc.data我想你不明白Firestore是如何获取数据的。。。get()不会侦听数据更改,实际上,您可以使用onSnapshot()函数执行相同的操作,只需在返回的对象数组中循环。请看一下这个@Firebaser,我同意你的看法,我试过
var docRef=db.collection(“cities”).doc(“SF”)
my Data
Collection
大约有20多个动态
ID
。所以我需要收集所有文件。