Здравствуйте, у меня следующая ситуация: у меня есть коллекция с именем authors
, которая имеет эту структуру authors: {id, firstname, lastname, state}
, и коллекция с именем books: {id, name, year, authorId}
, и я хочу иметь возможность делать множество книг, используя authors
черезвыбор в качестве обязательного поля, вопрос в том, что я не смог этого достичь, и я хотел бы знать, может ли кто-нибудь помочь мне.
Я использую angular 7 и firebasecloud.
это мой код для службы моих авторов
export class AuthorService {
private authsCollection: AngularFirestoreCollection<AuthorModel>;
auths: Observable<AuthorModel[]>;
constructor(private afs: AngularFirestore) {
this.authsCollection = this.afs.collection<AuthorModel>('authors');
}
createAuthor(author: AuthorModel) {
return this.authsCollection.add(JSON.parse(JSON.stringify(author)));
}
getAuthor(id: string): Observable<AuthorModel> {
const authorsDocuments = this.afs.doc<AuthorModel>('authors/' + id);
return authorsDocuments.snapshotChanges()
.pipe(
map(changes => {
const data = changes.payload.data();
const id = changes.payload.id;
return { id, ...data };
}))
}
getAllAuthors() {
return this.authsCollection.snapshotChanges();
}
updateAuthorById(author: AuthorModel) {
return this.afs.doc('authors/'+author.id).set(JSON.parse(JSON.stringify(author)));
}
deleteAuthor(id: string){
const authorsDocuments = this.afs.doc<AuthorModel>('authors/' + id).delete();
return authorsDocuments;
}
}