我正在尝试使用动态传递的uid查询用户集合,遵循https://github.com/angular/angularfire2/blob/master/docs/firestore/querying-collections.md步骤。 出于某种原因,即使此集合中存在两个现有ID,它也只返回一个。 请注意,我仍在使用compat rxjs5语法进行switchMap。
const ids$ = new Subject<string>();
const queryIds = ids$.switchMap(id => {
this.afs.collection('user_previews', ref => {
return ref.where('id', '==', id)).valueChanges()
});
});
queryIds.subscribe(queriedIds => {
console.log(queriedIds); // Logs only 1 value when there're 2 existing ids
});
this.friendRequests.forEach(request => {
console.log(request.id_sent); // Logs 2 ids
ids$.next(request.id_sent);
});
EDIT 它始终返回集合中最旧的用户。无论有多少ID匹配都无关紧要。