Angular 使用numChildren()计算邮件数计数的Firebase子级数
我正在尝试计算用户有多少条消息 现在我用以下方法提取数据:Angular 使用numChildren()计算邮件数计数的Firebase子级数,angular,firebase,angularfire2,Angular,Firebase,Angularfire2,我正在尝试计算用户有多少条消息 现在我用以下方法提取数据: this.msgData = this.fire.authState.switchMap(auth => this.db.object(`messages/${auth.uid}`).valueChanges()); this.msgData.subscribe(msgdata =>{ console.log(msgdata); }); 输出: 如何返回这些密钥的编号? db类似于: 只要做: Object.k
this.msgData = this.fire.authState.switchMap(auth => this.db.object(`messages/${auth.uid}`).valueChanges());
this.msgData.subscribe(msgdata =>{
console.log(msgdata);
});
输出:
如何返回这些密钥的编号?
db类似于:
只要做:
Object.keys(msgdata).length
你可以为此目的使用。例如:
this.msgData.subscribe(msgdata =>{
console.log(_.size(msgdata));
});
谢谢。我觉得这是一种非常低效的方法,因为仅仅为了计算键的数量,我就提取所有数据。还有其他方法吗?您可以执行以下操作:启动一个云函数,该函数侦听对该节点的更改,并在每次更改时计算子节点的数量并更新其他节点,例如/messageCount/$uid,然后您只需从中提取计数。我更喜欢这样,因为客户不需要做任何工作