我的API在这里:
findById(id: string): Promise<any> {
return this.db.list('/users').$ref.orderByChild('id').equalTo(id)
.once('value');
}
它的来电者:
this.usersService.findById(value)
.then(snap => {
snap.forEach(e => {
console.log(e.val());
});
}).catch(err => {
console.log(err)
});
在我的数据库中,我只有 2个用户(用户表格不是经过身份验证的用户)。
当我运行我的应用程序(我的Angular 4页面)时,我看到记录了很多相同的对象:
下面:
我的问题是为什么同一个对象(用户)有这么多个实例?它可能会影响性能,我估计是大数字
答案 0 :(得分:1)
按如下方式更改,
findById(id:string):Observable<User[]>{
return this.db.list('users',ref =>
ref.orderByChild('id').equalTo(id)).valueChanges();
}
然后在组件内部
var userlist = this.usersService.findById(value);
if (userlist) {
userlist.forEach((val) => {
});
}
并将模型设为user.ts
export class User {
id: string=null;
name: string=null;
....
etc
}