首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取orderByChild equalTo中的项数

获取orderByChild equalTo中的项数
EN

Stack Overflow用户
提问于 2015-11-24 20:57:03
回答 2查看 450关注 0票数 1

我正在检查firebase文档,寻找如何根据查询获取保存在我的DB中的条目的数量,我查看了这段代码,这些代码具有(我认为)我想要的内容,但不知道如何获得显示的项目数。

代码语言:javascript
复制
var ref = new Firebase("https://dinosaur-facts.firebaseio.com/dinosaurs");
ref.orderByChild("height").equalTo(0.6).on("child_added", function(snapshot) {
 console.log(snapshot.key());
});

console.log应该显示两个项目,因为有两个恐龙具有这个高度。那么,我如何才能获得显示在视图中的项目数呢?

我尝试过使用console.log(snapshot.key().length);但是它显示了一个错误的号码

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-24 23:24:56

当您侦听child_added事件时,回调中的项目数将始终是1。当您(例如)想要将每一项添加到列表中时,这是很好的。但是当你想数数物品的数量时,这并不是很好。

对于需要处理多个项的操作,更容易侦听value事件:

代码语言:javascript
复制
var ref = new Firebase("https://dinosaur-facts.firebaseio.com/dinosaurs");
ref.orderByChild("height").equalTo(0.6).on("value", function(snapshot) {
 console.log(snapshot.numChildren());
})

这个片段还显示了拼图的另一部分:DataSnapshot.numChildren()

票数 3
EN

Stack Overflow用户

发布于 2015-11-24 21:13:17

你可以试试这个:

代码语言:javascript
复制
var ref = new Firebase("https://dinosaur-facts.firebaseio.com/dinosaurs");
var shortDinosaurs = ref.orderByChild("height").equalTo(0.6);
console.log(shortDinosaurs.length);
shortDinosaurs.on("child_added", function(snapshot) {
 console.log(snapshot.key());
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33903640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档