获取快照元素的数量

时间:2018-10-30 17:20:32

标签: javascript firebase

我正在尝试根据一个值对用户进行排名,为此,我尝试通过一个名为“ earned_points”的值进行排序后遍历列表,但是我收到了错误消息{{1} }。

这是我的代码的样子

dataSnapshot.numChildren is not a function

这应该为每个子快照添加一个等级,然后创建一个名为页首横幅的新节点。

我为什么要得到这个的任何想法?我只是从实时数据库切换到Firestore,不知道发生了什么

1 个答案:

答案 0 :(得分:1)

  

我只是从实时数据库切换到Firestore,不知道发生了什么

在firestore中,没有DataSnapshot,firestore使用集合和文档的概念。

方法numChildren()在类DataSnapshot内。

get()方法位于类CollectionReference中,它返回一个QuerySnapshot,因此您将收到错误dataSnapshot.numChildren is not a function

检索集合中所有文档的示例:

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

检查:

https://firebase.google.com/docs/firestore/query-data/get-data