我需要用户按照他们添加到Firebase中的顺序显示在我的UsersListComponent
中。
目前,如果我添加新用户,他可能会出现在列表的中间,但我希望新用户出现在列表的末尾。
如何在AngularFire 5中实现它?
我的UsersService
和UsersListComponent
:
export class UsersService {
usersCollection: AngularFirestoreCollection<User>;
users: Observable<User[]>;
constructor(private firebase: AngularFirestore) {
this.usersCollection = firebase.collection('users');
this.users = this.usersCollection.snapshotChanges().pipe(
map(actions => actions.map(a => {
const data = a.payload.doc.data() as User;
const id = a.payload.doc.id;
return { id, ...data };
}))
);
}
getUsers(): Observable<User[]> {
return this.users;
}
export class UsersListComponent implements OnInit {
users: User[];
constructor(private usersService: UsersService) { }
ngOnInit() {
this.usersService.getUsers().subscribe(users => {
this.users = users;
});
答案 0 :(得分:0)
通常,您需要更改此方法并在其中添加排序,或者在消防商店上以https://firebase.google.com/docs/firestore/query-data/order-limit-data的形式使用orderby方法
a_method
但这还不够,存储到Firestore中时,您需要在数据中添加一个Date,然后按该日期进行排序