如何按添加顺序(AngularFire 5)从Firebase Collection中检索项目?

时间:2018-08-15 15:59:50

标签: angular firebase angularfire

我需要用户按照他们添加到Firebase中的顺序显示在我的UsersListComponent中。

目前,如果我添加新用户,他可能会出现在列表的中间,但我希望新用户出现在列表的末尾。

如何在AngularFire 5中实现它?

我的UsersServiceUsersListComponent

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;
    });

1 个答案:

答案 0 :(得分:0)

通常,您需要更改此方法并在其中添加排序,或者在消防商店上以https://firebase.google.com/docs/firestore/query-data/order-limit-data的形式使用orderby方法

a_method

但这还不够,存储到Firestore中时,您需要在数据中添加一个Date,然后按该日期进行排序