прерывает службу во время миграции на Angular 9 - PullRequest
0 голосов
/ 07 апреля 2020

Я обычно использую этот метод, чтобы получить свои значения из базы данных. У меня нет проблем с getUsers ().

Но после перехода на angularfire6 у меня возникла проблема с getUserById: "... data"

"ошибка: тип спреда может быть создан только из типов объектов "

import { Injectable } from "@angular/core";
import { User } from "../models/user.model";
import {
  AngularFireDatabase,
  AngularFireList,
  AngularFireObject,
} from "@angular/fire/database";
import { Observable } from "rxjs";
import { switchMap, map } from "rxjs/operators";
import * as firebase from "firebase";
import DataSnapshot = firebase.database.DataSnapshot;

@Injectable({ providedIn: "root" })
export class UsersService {
  users: AngularFireList<any>;

  constructor(private database: AngularFireDatabase) {
    this.users = database.list("users");
  }

  getUsers() {
    return this.users.snapshotChanges().pipe(
      map((actions) => {
        return actions.map((a) => {
          const data = a.payload.val();
          const key = a.payload.key;
          return { key, ...data };
        });
      })
    );
  }

  getUserById(UserId: string) {
    return this.database
      .list("/users", (ref) => ref.orderByChild("id").equalTo(UserId))
      .snapshotChanges()
      .pipe(
        map((actions) => {
          return actions.map((a) => {
            const data = a.payload.val();
            const key = a.payload.key;
            return { key, ...data };
          });
        })
      );
  }
}

Нет сомнений, это переключение на" машинопись ":" 3.8.3 "? Спасибо за вашу помощь

1 Ответ

0 голосов
/ 07 апреля 2020
return this.database.list('/users', ref => 
ref.orderByChild("id").equalTo(UserId)).snapshotChanges().pipe(map(actions => {
return actions.map(a => {
const data: Object  = a.payload.val();
const key = a.payload.key;
return {key, ...data} ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...