【发布时间】:2021-02-22 00:24:34
【问题描述】:
我的 firestore 结构包含一个名为 users 的集合,其中包含文档。每个用户的文档都包含名为 user-info 的集合,其中包含归档的 email。
如何从用户信息中的特定电子邮件(红色)中获取用户 ID(绿色)?
我在ts文件中写的函数是:(不起作用)
...
export class UsersList implements OnInit {
...
constructor(private router: Router, private authservice: AuthService,public crudservice:CrudService) {}
....
get_UserID_from_email(someEmail)
{
let user;
this.crudservice.get_AllUsers().subscribe(data => {
user = data.map(c => {
console.log(c.payload.doc.data()['user-info']['email']);
if(c.payload.doc.data()['user-info']['email'] == someEmail)
return c.payload.doc;
})
});
}
...
}
在 crud.service.ts 中:
...
export class CrudService {
constructor(private authservice: AuthService, public fireservices:AngularFirestore) { }
...
get_AllUsers()
{
return this.fireservices.collection('users').snapshotChanges();
}
...
}
【问题讨论】:
-
你需要查看
c.payload.doc中文档的路径,才能找到组织它的父集合的名称。该对象应该有属性或方法,可以让你了解它的父集合/文档。
标签: angular firebase google-cloud-firestore